go.arsenm.dev/pcre@v0.0.0-20220530205550-74594f6c8b0e/lib/pcre2_linux_riscv64.go (about)

     1  // Code generated by 'ccgo -o pcre2_linux_riscv64.go -pkgname lib -trace-translation-units -export-externs X -export-defines D -export-fields F -export-structs S -export-typedefs T pcre.json .libs/libpcre2-8.a', DO NOT EDIT.
     2  
     3  package lib
     4  
     5  import (
     6  	"math"
     7  	"reflect"
     8  	"sync/atomic"
     9  	"unsafe"
    10  
    11  	"modernc.org/libc"
    12  	"modernc.org/libc/sys/types"
    13  )
    14  
    15  var _ = math.Pi
    16  var _ reflect.Kind
    17  var _ atomic.Value
    18  var _ unsafe.Pointer
    19  var _ *libc.TLS
    20  var _ types.Size_t
    21  
    22  const (
    23  	DAIO_PRIO_DELTA_MAX                              = 20                   // local_lim.h:78:1:
    24  	DBC_BASE_MAX                                     = 99                   // posix2_lim.h:63:1:
    25  	DBC_DIM_MAX                                      = 2048                 // posix2_lim.h:66:1:
    26  	DBC_SCALE_MAX                                    = 99                   // posix2_lim.h:69:1:
    27  	DBC_STRING_MAX                                   = 1000                 // posix2_lim.h:72:1:
    28  	DBIG_ENDIAN                                      = 4321                 // endian.h:28:1:
    29  	DBOOL_MAX                                        = 1                    // limits.h:186:1:
    30  	DBOOL_WIDTH                                      = 1                    // limits.h:189:1:
    31  	DBSR_DEFAULT                                     = 1                    // pcre2_internal.h:243:1:
    32  	DBUFSIZ                                          = 8192                 // stdio.h:99:1:
    33  	DBYTE_ORDER                                      = 1234                 // endian.h:30:1:
    34  	DCHARCLASS_NAME_MAX                              = 2048                 // posix2_lim.h:84:1:
    35  	DCHAR_0                                          = 48                   // pcre2_internal.h:999:1:
    36  	DCHAR_1                                          = 49                   // pcre2_internal.h:1000:1:
    37  	DCHAR_2                                          = 50                   // pcre2_internal.h:1001:1:
    38  	DCHAR_3                                          = 51                   // pcre2_internal.h:1002:1:
    39  	DCHAR_4                                          = 52                   // pcre2_internal.h:1003:1:
    40  	DCHAR_5                                          = 53                   // pcre2_internal.h:1004:1:
    41  	DCHAR_6                                          = 54                   // pcre2_internal.h:1005:1:
    42  	DCHAR_7                                          = 55                   // pcre2_internal.h:1006:1:
    43  	DCHAR_8                                          = 56                   // pcre2_internal.h:1007:1:
    44  	DCHAR_9                                          = 57                   // pcre2_internal.h:1008:1:
    45  	DCHAR_A                                          = 65                   // pcre2_internal.h:1016:1:
    46  	DCHAR_AMPERSAND                                  = 38                   // pcre2_internal.h:989:1:
    47  	DCHAR_APOSTROPHE                                 = 39                   // pcre2_internal.h:990:1:
    48  	DCHAR_ASTERISK                                   = 42                   // pcre2_internal.h:993:1:
    49  	DCHAR_B                                          = 66                   // pcre2_internal.h:1017:1:
    50  	DCHAR_BACKSLASH                                  = 92                   // pcre2_internal.h:1043:1:
    51  	DCHAR_BEL                                        = 7                    // pcre2_internal.h:978:1:
    52  	DCHAR_BIT                                        = 8                    // limits.h:64:1:
    53  	DCHAR_BS                                         = 8                    // pcre2_internal.h:977:1:
    54  	DCHAR_C                                          = 67                   // pcre2_internal.h:1018:1:
    55  	DCHAR_CIRCUMFLEX_ACCENT                          = 94                   // pcre2_internal.h:1045:1:
    56  	DCHAR_COLON                                      = 58                   // pcre2_internal.h:1009:1:
    57  	DCHAR_COMMA                                      = 44                   // pcre2_internal.h:995:1:
    58  	DCHAR_COMMERCIAL_AT                              = 64                   // pcre2_internal.h:1015:1:
    59  	DCHAR_CR                                         = 13                   // pcre2_internal.h:973:1:
    60  	DCHAR_D                                          = 68                   // pcre2_internal.h:1019:1:
    61  	DCHAR_DEL                                        = 127                  // pcre2_internal.h:980:1:
    62  	DCHAR_DOLLAR_SIGN                                = 36                   // pcre2_internal.h:987:1:
    63  	DCHAR_DOT                                        = 46                   // pcre2_internal.h:997:1:
    64  	DCHAR_E                                          = 69                   // pcre2_internal.h:1020:1:
    65  	DCHAR_EQUALS_SIGN                                = 61                   // pcre2_internal.h:1012:1:
    66  	DCHAR_ESC                                        = 27                   // pcre2_internal.h:979:1:
    67  	DCHAR_EXCLAMATION_MARK                           = 33                   // pcre2_internal.h:984:1:
    68  	DCHAR_F                                          = 70                   // pcre2_internal.h:1021:1:
    69  	DCHAR_FF                                         = 12                   // pcre2_internal.h:972:1:
    70  	DCHAR_G                                          = 71                   // pcre2_internal.h:1022:1:
    71  	DCHAR_GRAVE_ACCENT                               = 96                   // pcre2_internal.h:1047:1:
    72  	DCHAR_GREATER_THAN_SIGN                          = 62                   // pcre2_internal.h:1013:1:
    73  	DCHAR_H                                          = 72                   // pcre2_internal.h:1023:1:
    74  	DCHAR_HT                                         = 9                    // pcre2_internal.h:970:1:
    75  	DCHAR_I                                          = 73                   // pcre2_internal.h:1024:1:
    76  	DCHAR_J                                          = 74                   // pcre2_internal.h:1025:1:
    77  	DCHAR_K                                          = 75                   // pcre2_internal.h:1026:1:
    78  	DCHAR_L                                          = 76                   // pcre2_internal.h:1027:1:
    79  	DCHAR_LEFT_CURLY_BRACKET                         = 123                  // pcre2_internal.h:1074:1:
    80  	DCHAR_LEFT_PARENTHESIS                           = 40                   // pcre2_internal.h:991:1:
    81  	DCHAR_LEFT_SQUARE_BRACKET                        = 91                   // pcre2_internal.h:1042:1:
    82  	DCHAR_LESS_THAN_SIGN                             = 60                   // pcre2_internal.h:1011:1:
    83  	DCHAR_LF                                         = 10                   // pcre2_internal.h:974:1:
    84  	DCHAR_M                                          = 77                   // pcre2_internal.h:1028:1:
    85  	DCHAR_MAX                                        = 127                  // limits.h:99:1:
    86  	DCHAR_MIN                                        = -128                 // limits.h:97:1:
    87  	DCHAR_MINUS                                      = 45                   // pcre2_internal.h:996:1:
    88  	DCHAR_N                                          = 78                   // pcre2_internal.h:1029:1:
    89  	DCHAR_NL                                         = 10                   // pcre2_internal.h:975:1:
    90  	DCHAR_NUL                                        = 0                    // pcre2_internal.h:982:1:
    91  	DCHAR_NUMBER_SIGN                                = 35                   // pcre2_internal.h:986:1:
    92  	DCHAR_O                                          = 79                   // pcre2_internal.h:1030:1:
    93  	DCHAR_P                                          = 80                   // pcre2_internal.h:1031:1:
    94  	DCHAR_PERCENT_SIGN                               = 37                   // pcre2_internal.h:988:1:
    95  	DCHAR_PLUS                                       = 43                   // pcre2_internal.h:994:1:
    96  	DCHAR_Q                                          = 81                   // pcre2_internal.h:1032:1:
    97  	DCHAR_QUESTION_MARK                              = 63                   // pcre2_internal.h:1014:1:
    98  	DCHAR_QUOTATION_MARK                             = 34                   // pcre2_internal.h:985:1:
    99  	DCHAR_R                                          = 82                   // pcre2_internal.h:1033:1:
   100  	DCHAR_RIGHT_CURLY_BRACKET                        = 125                  // pcre2_internal.h:1076:1:
   101  	DCHAR_RIGHT_PARENTHESIS                          = 41                   // pcre2_internal.h:992:1:
   102  	DCHAR_RIGHT_SQUARE_BRACKET                       = 93                   // pcre2_internal.h:1044:1:
   103  	DCHAR_S                                          = 83                   // pcre2_internal.h:1034:1:
   104  	DCHAR_SEMICOLON                                  = 59                   // pcre2_internal.h:1010:1:
   105  	DCHAR_SLASH                                      = 47                   // pcre2_internal.h:998:1:
   106  	DCHAR_SPACE                                      = 32                   // pcre2_internal.h:983:1:
   107  	DCHAR_T                                          = 84                   // pcre2_internal.h:1035:1:
   108  	DCHAR_TILDE                                      = 126                  // pcre2_internal.h:1077:1:
   109  	DCHAR_U                                          = 85                   // pcre2_internal.h:1036:1:
   110  	DCHAR_UNDERSCORE                                 = 95                   // pcre2_internal.h:1046:1:
   111  	DCHAR_V                                          = 86                   // pcre2_internal.h:1037:1:
   112  	DCHAR_VERTICAL_LINE                              = 124                  // pcre2_internal.h:1075:1:
   113  	DCHAR_VT                                         = 11                   // pcre2_internal.h:971:1:
   114  	DCHAR_W                                          = 87                   // pcre2_internal.h:1038:1:
   115  	DCHAR_WIDTH                                      = 8                    // limits.h:165:1:
   116  	DCHAR_X                                          = 88                   // pcre2_internal.h:1039:1:
   117  	DCHAR_Y                                          = 89                   // pcre2_internal.h:1040:1:
   118  	DCHAR_Z                                          = 90                   // pcre2_internal.h:1041:1:
   119  	DCHAR_a                                          = 97                   // pcre2_internal.h:1048:1:
   120  	DCHAR_b                                          = 98                   // pcre2_internal.h:1049:1:
   121  	DCHAR_c                                          = 99                   // pcre2_internal.h:1050:1:
   122  	DCHAR_d                                          = 100                  // pcre2_internal.h:1051:1:
   123  	DCHAR_e                                          = 101                  // pcre2_internal.h:1052:1:
   124  	DCHAR_f                                          = 102                  // pcre2_internal.h:1053:1:
   125  	DCHAR_g                                          = 103                  // pcre2_internal.h:1054:1:
   126  	DCHAR_h                                          = 104                  // pcre2_internal.h:1055:1:
   127  	DCHAR_i                                          = 105                  // pcre2_internal.h:1056:1:
   128  	DCHAR_j                                          = 106                  // pcre2_internal.h:1057:1:
   129  	DCHAR_k                                          = 107                  // pcre2_internal.h:1058:1:
   130  	DCHAR_l                                          = 108                  // pcre2_internal.h:1059:1:
   131  	DCHAR_m                                          = 109                  // pcre2_internal.h:1060:1:
   132  	DCHAR_n                                          = 110                  // pcre2_internal.h:1061:1:
   133  	DCHAR_o                                          = 111                  // pcre2_internal.h:1062:1:
   134  	DCHAR_p                                          = 112                  // pcre2_internal.h:1063:1:
   135  	DCHAR_q                                          = 113                  // pcre2_internal.h:1064:1:
   136  	DCHAR_r                                          = 114                  // pcre2_internal.h:1065:1:
   137  	DCHAR_s                                          = 115                  // pcre2_internal.h:1066:1:
   138  	DCHAR_t                                          = 116                  // pcre2_internal.h:1067:1:
   139  	DCHAR_u                                          = 117                  // pcre2_internal.h:1068:1:
   140  	DCHAR_v                                          = 118                  // pcre2_internal.h:1069:1:
   141  	DCHAR_w                                          = 119                  // pcre2_internal.h:1070:1:
   142  	DCHAR_x                                          = 120                  // pcre2_internal.h:1071:1:
   143  	DCHAR_y                                          = 121                  // pcre2_internal.h:1072:1:
   144  	DCHAR_z                                          = 122                  // pcre2_internal.h:1073:1:
   145  	DCOLL_WEIGHTS_MAX                                = 255                  // posix2_lim.h:75:1:
   146  	DCOMPILE_ERROR_BASE                              = 100                  // pcre2_internal.h:221:1:
   147  	DDELAYTIMER_MAX                                  = 2147483647           // local_lim.h:84:1:
   148  	DDFA_START_RWS_SIZE                              = 30720                // pcre2_internal.h:236:1:
   149  	DEOF                                             = -1                   // stdio.h:104:1:
   150  	DEXIT_FAILURE                                    = 1                    // stdlib.h:92:1:
   151  	DEXIT_SUCCESS                                    = 0                    // stdlib.h:93:1:
   152  	DEXPR_NEST_MAX                                   = 32                   // posix2_lim.h:78:1:
   153  	DFALSE                                           = 0                    // pcre2_internal.h:69:1:
   154  	DFD_SETSIZE                                      = 1024                 // select.h:73:1:
   155  	DFILENAME_MAX                                    = 4096                 // stdio_lim.h:27:1:
   156  	DFOPEN_MAX                                       = 16                   // stdio_lim.h:37:1:
   157  	DHAVE_BCOPY                                      = 1                    // config.h:60:1:
   158  	DHAVE_BZLIB_H                                    = 1                    // config.h:63:1:
   159  	DHAVE_CONFIG_H                                   = 1                    // <defines>:1:1:
   160  	DHAVE_DIRENT_H                                   = 1                    // config.h:66:1:
   161  	DHAVE_DLFCN_H                                    = 1                    // config.h:69:1:
   162  	DHAVE_INTTYPES_H                                 = 1                    // config.h:78:1:
   163  	DHAVE_LIMITS_H                                   = 1                    // config.h:81:1:
   164  	DHAVE_MEMFD_CREATE                               = 1                    // config.h:84:1:
   165  	DHAVE_MEMMOVE                                    = 1                    // config.h:87:1:
   166  	DHAVE_MKOSTEMP                                   = 1                    // config.h:93:1:
   167  	DHAVE_REALPATH                                   = 1                    // config.h:111:1:
   168  	DHAVE_SECURE_GETENV                              = 1                    // config.h:114:1:
   169  	DHAVE_STDINT_H                                   = 1                    // config.h:117:1:
   170  	DHAVE_STDIO_H                                    = 1                    // config.h:120:1:
   171  	DHAVE_STDLIB_H                                   = 1                    // config.h:123:1:
   172  	DHAVE_STRERROR                                   = 1                    // config.h:126:1:
   173  	DHAVE_STRINGS_H                                  = 1                    // config.h:129:1:
   174  	DHAVE_STRING_H                                   = 1                    // config.h:132:1:
   175  	DHAVE_SYS_STAT_H                                 = 1                    // config.h:135:1:
   176  	DHAVE_SYS_TYPES_H                                = 1                    // config.h:138:1:
   177  	DHAVE_SYS_WAIT_H                                 = 1                    // config.h:141:1:
   178  	DHAVE_UNISTD_H                                   = 1                    // config.h:144:1:
   179  	DHAVE_VISIBILITY                                 = 1                    // config.h:147:1:
   180  	DHAVE_WCHAR_H                                    = 1                    // config.h:150:1:
   181  	DHAVE_ZLIB_H                                     = 1                    // config.h:156:1:
   182  	DHEAP_LIMIT                                      = 20000000             // config.h:161:1:
   183  	DHOST_NAME_MAX                                   = 64                   // local_lim.h:93:1:
   184  	DIMM2_SIZE                                       = 2                    // pcre2_intmodedep.h:193:1:
   185  	DINT16_MAX                                       = 32767                // stdint.h:122:1:
   186  	DINT16_MIN                                       = -32768               // stdint.h:117:1:
   187  	DINT16_WIDTH                                     = 16                   // stdint.h:280:1:
   188  	DINT32_MAX                                       = 2147483647           // stdint.h:123:1:
   189  	DINT32_MIN                                       = -2147483648          // stdint.h:118:1:
   190  	DINT32_WIDTH                                     = 32                   // stdint.h:282:1:
   191  	DINT64_MAX                                       = 9223372036854775807  // stdint.h:124:1:
   192  	DINT64_MIN                                       = -9223372036854775808 // stdint.h:119:1:
   193  	DINT64_WIDTH                                     = 64                   // stdint.h:284:1:
   194  	DINT8_MAX                                        = 127                  // stdint.h:121:1:
   195  	DINT8_MIN                                        = -128                 // stdint.h:116:1:
   196  	DINT8_WIDTH                                      = 8                    // stdint.h:278:1:
   197  	DINTMAX_MAX                                      = 9223372036854775807  // stdint.h:199:1:
   198  	DINTMAX_MIN                                      = -9223372036854775808 // stdint.h:197:1:
   199  	DINTMAX_WIDTH                                    = 64                   // stdint.h:308:1:
   200  	DINTPTR_MAX                                      = 9223372036854775807  // stdint.h:187:1:
   201  	DINTPTR_MIN                                      = -9223372036854775808 // stdint.h:186:1:
   202  	DINTPTR_WIDTH                                    = 64                   // stdint.h:305:1:
   203  	DINT_FAST16_MAX                                  = 9223372036854775807  // stdint.h:164:1:
   204  	DINT_FAST16_MIN                                  = -9223372036854775808 // stdint.h:154:1:
   205  	DINT_FAST16_WIDTH                                = 64                   // stdint.h:298:1:
   206  	DINT_FAST32_MAX                                  = 9223372036854775807  // stdint.h:165:1:
   207  	DINT_FAST32_MIN                                  = -9223372036854775808 // stdint.h:155:1:
   208  	DINT_FAST32_WIDTH                                = 64                   // stdint.h:300:1:
   209  	DINT_FAST64_MAX                                  = 9223372036854775807  // stdint.h:170:1:
   210  	DINT_FAST64_MIN                                  = -9223372036854775808 // stdint.h:160:1:
   211  	DINT_FAST64_WIDTH                                = 64                   // stdint.h:302:1:
   212  	DINT_FAST8_MAX                                   = 127                  // stdint.h:162:1:
   213  	DINT_FAST8_MIN                                   = -128                 // stdint.h:152:1:
   214  	DINT_FAST8_WIDTH                                 = 8                    // stdint.h:296:1:
   215  	DINT_LEAST16_MAX                                 = 32767                // stdint.h:140:1:
   216  	DINT_LEAST16_MIN                                 = -32768               // stdint.h:135:1:
   217  	DINT_LEAST16_WIDTH                               = 16                   // stdint.h:289:1:
   218  	DINT_LEAST32_MAX                                 = 2147483647           // stdint.h:141:1:
   219  	DINT_LEAST32_MIN                                 = -2147483648          // stdint.h:136:1:
   220  	DINT_LEAST32_WIDTH                               = 32                   // stdint.h:291:1:
   221  	DINT_LEAST64_MAX                                 = 9223372036854775807  // stdint.h:142:1:
   222  	DINT_LEAST64_MIN                                 = -9223372036854775808 // stdint.h:137:1:
   223  	DINT_LEAST64_WIDTH                               = 64                   // stdint.h:293:1:
   224  	DINT_LEAST8_MAX                                  = 127                  // stdint.h:139:1:
   225  	DINT_LEAST8_MIN                                  = -128                 // stdint.h:134:1:
   226  	DINT_LEAST8_WIDTH                                = 8                    // stdint.h:287:1:
   227  	DINT_MAX                                         = 2147483647           // limits.h:120:1:
   228  	DINT_MIN                                         = -2147483648          // limits.h:118:1:
   229  	DINT_WIDTH                                       = 32                   // limits.h:175:1:
   230  	DIOV_MAX                                         = 1024                 // xopen_lim.h:66:1:
   231  	DLINE_MAX                                        = 2048                 // posix2_lim.h:81:1:
   232  	DLINK_SIZE                                       = 2                    // config.h:168:1:
   233  	DLITTLE_ENDIAN                                   = 1234                 // endian.h:27:1:
   234  	DLLONG_MAX                                       = 9223372036854775807  // limits.h:142:1:
   235  	DLLONG_MIN                                       = -9223372036854775808 // limits.h:140:1:
   236  	DLLONG_WIDTH                                     = 64                   // limits.h:183:1:
   237  	DLOGIN_NAME_MAX                                  = 256                  // local_lim.h:90:1:
   238  	DLONG_BIT                                        = 64                   // xopen_lim.h:137:1:
   239  	DLONG_LONG_MAX                                   = 9223372036854775807  // limits.h:154:1:
   240  	DLONG_LONG_MIN                                   = -9223372036854775808 // limits.h:152:1:
   241  	DLONG_MAX                                        = 9223372036854775807  // limits.h:131:1:
   242  	DLONG_MIN                                        = -9223372036854775808 // limits.h:129:1:
   243  	DLONG_WIDTH                                      = 64                   // limits.h:179:1:
   244  	DLOOKBEHIND_MAX                                  = 65535                // pcre2_intmodedep.h:616:1:
   245  	DLT_OBJDIR                                       = ".libs/"             // config.h:171:1:
   246  	DL_ctermid                                       = 9                    // stdio_lim.h:30:1:
   247  	DL_cuserid                                       = 9                    // stdio_lim.h:32:1:
   248  	DL_tmpnam                                        = 20                   // stdio_lim.h:25:1:
   249  	DMAGIC_NUMBER                                    = 0x50435245           // pcre2_internal.h:547:1:
   250  	DMATCH_LIMIT                                     = 10000000             // config.h:180:1:
   251  	DMATCH_LIMIT_DEPTH                               = 10000000             // config.h:192:1:
   252  	DMAX_CANON                                       = 255                  // limits.h:10:1:
   253  	DMAX_INPUT                                       = 255                  // limits.h:11:1:
   254  	DMAX_MARK                                        = 255                  // pcre2_intmodedep.h:213:1:
   255  	DMAX_NAME_COUNT                                  = 10000                // config.h:197:1:
   256  	DMAX_NAME_SIZE                                   = 32                   // config.h:202:1:
   257  	DMAX_NON_UTF_CHAR                                = 255                  // pcre2_internal.h:1894:1:
   258  	DMAX_PATTERN_SIZE                                = 65536                // pcre2_intmodedep.h:110:1:
   259  	DMAX_UTF_CODE_POINT                              = 0x10ffff             // pcre2_internal.h:209:1:
   260  	DMAX_UTF_SINGLE_CU                               = 127                  // pcre2_intmodedep.h:282:1:
   261  	DMAYBE_UTF_MULTI                                 = 0                    // pcre2_intmodedep.h:278:1:
   262  	DMB_LEN_MAX                                      = 16                   // limits.h:32:1:
   263  	DMQ_PRIO_MAX                                     = 32768                // local_lim.h:96:1:
   264  	DNAME_MAX                                        = 255                  // limits.h:12:1:
   265  	DNEWLINE_DEFAULT                                 = 2                    // config.h:211:1:
   266  	DNGROUPS_MAX                                     = 65536                // limits.h:7:1:
   267  	DNLTYPE_ANY                                      = 1                    // pcre2_internal.h:474:1:
   268  	DNLTYPE_ANYCRLF                                  = 2                    // pcre2_internal.h:475:1:
   269  	DNLTYPE_FIXED                                    = 0                    // pcre2_internal.h:473:1:
   270  	DNL_ARGMAX                                       = 4096                 // xopen_lim.h:73:1:
   271  	DNL_LANGMAX                                      = 2048                 // xopen_lim.h:76:1:
   272  	DNL_MSGMAX                                       = 2147483647           // xopen_lim.h:79:1:
   273  	DNL_NMAX                                         = 2147483647           // xopen_lim.h:84:1:
   274  	DNL_SETMAX                                       = 2147483647           // xopen_lim.h:88:1:
   275  	DNL_TEXTMAX                                      = 2147483647           // xopen_lim.h:91:1:
   276  	DNOTACHAR                                        = 0xffffffff           // pcre2_internal.h:205:1:
   277  	DNZERO                                           = 20                   // xopen_lim.h:94:1:
   278  	DPACKAGE                                         = "pcre2"              // config.h:214:1:
   279  	DPACKAGE_BUGREPORT                               = ""                   // config.h:217:1:
   280  	DPACKAGE_NAME                                    = "PCRE2"              // config.h:220:1:
   281  	DPACKAGE_STRING                                  = "PCRE2 10.40"        // config.h:223:1:
   282  	DPACKAGE_TARNAME                                 = "pcre2"              // config.h:226:1:
   283  	DPACKAGE_URL                                     = ""                   // config.h:229:1:
   284  	DPACKAGE_VERSION                                 = "10.40"              // config.h:232:1:
   285  	DPARENS_NEST_LIMIT                               = 250                  // config.h:237:1:
   286  	DPATH_MAX                                        = 4096                 // limits.h:13:1:
   287  	DPCRE2GREP_BUFSIZE                               = 20480                // config.h:245:1:
   288  	DPCRE2GREP_MAX_BUFSIZE                           = 1048576              // config.h:251:1:
   289  	DPCRE2_ALLOW_EMPTY_CLASS                         = 0x00000001           // pcre2.h:119:1:
   290  	DPCRE2_ALT_BSUX                                  = 0x00000002           // pcre2.h:120:1:
   291  	DPCRE2_ALT_CIRCUMFLEX                            = 0x00200000           // pcre2.h:140:1:
   292  	DPCRE2_ALT_VERBNAMES                             = 0x00400000           // pcre2.h:141:1:
   293  	DPCRE2_ANCHORED                                  = 0x80000000           // pcre2.h:105:1:
   294  	DPCRE2_AUTO_CALLOUT                              = 0x00000004           // pcre2.h:121:1:
   295  	DPCRE2_BSR_ANYCRLF                               = 2                    // pcre2.h:211:1:
   296  	DPCRE2_BSR_SET                                   = 0x00004000           // pcre2_internal.h:522:1:
   297  	DPCRE2_BSR_UNICODE                               = 1                    // pcre2.h:210:1:
   298  	DPCRE2_CALLOUT_BACKTRACK                         = 0x00000002           // pcre2.h:513:1:
   299  	DPCRE2_CALLOUT_STARTMATCH                        = 0x00000001           // pcre2.h:512:1:
   300  	DPCRE2_CALL_CONVENTION                           = 0                    // pcre2.h:81:1:
   301  	DPCRE2_CASELESS                                  = 0x00000008           // pcre2.h:122:1:
   302  	DPCRE2_CODE_UNIT_WIDTH                           = 8                    // <defines>:2:1:
   303  	DPCRE2_CONFIG_BSR                                = 0                    // pcre2.h:437:1:
   304  	DPCRE2_CONFIG_COMPILED_WIDTHS                    = 14                   // pcre2.h:452:1:
   305  	DPCRE2_CONFIG_DEPTHLIMIT                         = 7                    // pcre2.h:444:1:
   306  	DPCRE2_CONFIG_HEAPLIMIT                          = 12                   // pcre2.h:450:1:
   307  	DPCRE2_CONFIG_JIT                                = 1                    // pcre2.h:438:1:
   308  	DPCRE2_CONFIG_JITTARGET                          = 2                    // pcre2.h:439:1:
   309  	DPCRE2_CONFIG_LINKSIZE                           = 3                    // pcre2.h:440:1:
   310  	DPCRE2_CONFIG_MATCHLIMIT                         = 4                    // pcre2.h:441:1:
   311  	DPCRE2_CONFIG_NEVER_BACKSLASH_C                  = 13                   // pcre2.h:451:1:
   312  	DPCRE2_CONFIG_NEWLINE                            = 5                    // pcre2.h:442:1:
   313  	DPCRE2_CONFIG_PARENSLIMIT                        = 6                    // pcre2.h:443:1:
   314  	DPCRE2_CONFIG_RECURSIONLIMIT                     = 7                    // pcre2.h:445:1:
   315  	DPCRE2_CONFIG_STACKRECURSE                       = 8                    // pcre2.h:446:1:
   316  	DPCRE2_CONFIG_TABLES_LENGTH                      = 15                   // pcre2.h:453:1:
   317  	DPCRE2_CONFIG_UNICODE                            = 9                    // pcre2.h:447:1:
   318  	DPCRE2_CONFIG_UNICODE_VERSION                    = 10                   // pcre2.h:448:1:
   319  	DPCRE2_CONFIG_VERSION                            = 11                   // pcre2.h:449:1:
   320  	DPCRE2_CONVERT_GLOB                              = 0x00000010           // pcre2.h:195:1:
   321  	DPCRE2_CONVERT_GLOB_NO_STARSTAR                  = 0x00000050           // pcre2.h:197:1:
   322  	DPCRE2_CONVERT_GLOB_NO_WILD_SEPARATOR            = 0x00000030           // pcre2.h:196:1:
   323  	DPCRE2_CONVERT_NO_UTF_CHECK                      = 0x00000002           // pcre2.h:192:1:
   324  	DPCRE2_CONVERT_POSIX_BASIC                       = 0x00000004           // pcre2.h:193:1:
   325  	DPCRE2_CONVERT_POSIX_EXTENDED                    = 0x00000008           // pcre2.h:194:1:
   326  	DPCRE2_CONVERT_UTF                               = 0x00000001           // pcre2.h:191:1:
   327  	DPCRE2_COPY_MATCHED_SUBJECT                      = 0x00004000           // pcre2.h:184:1:
   328  	DPCRE2_DATE                                      = 2004                 // pcre2.h:47:1:
   329  	DPCRE2_DEREF_TABLES                              = 0x00040000           // pcre2_internal.h:526:1:
   330  	DPCRE2_DFA_RESTART                               = 0x00000040           // pcre2.h:176:1:
   331  	DPCRE2_DFA_SHORTEST                              = 0x00000080           // pcre2.h:177:1:
   332  	DPCRE2_DOLLAR_ENDONLY                            = 0x00000010           // pcre2.h:123:1:
   333  	DPCRE2_DOTALL                                    = 0x00000020           // pcre2.h:124:1:
   334  	DPCRE2_DUPCAPUSED                                = 0x00200000           // pcre2_internal.h:529:1:
   335  	DPCRE2_DUPNAMES                                  = 0x00000040           // pcre2.h:125:1:
   336  	DPCRE2_ENDANCHORED                               = 0x20000000           // pcre2.h:107:1:
   337  	DPCRE2_ERROR_ALPHA_ASSERTION_UNKNOWN             = 195                  // pcre2.h:311:1:
   338  	DPCRE2_ERROR_BACKSLASH_C_CALLER_DISABLED         = 183                  // pcre2.h:299:1:
   339  	DPCRE2_ERROR_BACKSLASH_C_LIBRARY_DISABLED        = 185                  // pcre2.h:301:1:
   340  	DPCRE2_ERROR_BACKSLASH_C_SYNTAX                  = 168                  // pcre2.h:284:1:
   341  	DPCRE2_ERROR_BACKSLASH_G_SYNTAX                  = 157                  // pcre2.h:272:1:
   342  	DPCRE2_ERROR_BACKSLASH_K_IN_LOOKAROUND           = 199                  // pcre2.h:315:1:
   343  	DPCRE2_ERROR_BACKSLASH_K_SYNTAX                  = 169                  // pcre2.h:285:1:
   344  	DPCRE2_ERROR_BACKSLASH_N_IN_CLASS                = 171                  // pcre2.h:287:1:
   345  	DPCRE2_ERROR_BACKSLASH_O_MISSING_BRACE           = 155                  // pcre2.h:270:1:
   346  	DPCRE2_ERROR_BACKSLASH_U_CODE_POINT_TOO_BIG      = 177                  // pcre2.h:293:1:
   347  	DPCRE2_ERROR_BADDATA                             = -29                  // pcre2.h:363:1:
   348  	DPCRE2_ERROR_BADMAGIC                            = -31                  // pcre2.h:365:1:
   349  	DPCRE2_ERROR_BADMODE                             = -32                  // pcre2.h:366:1:
   350  	DPCRE2_ERROR_BADOFFSET                           = -33                  // pcre2.h:367:1:
   351  	DPCRE2_ERROR_BADOFFSETLIMIT                      = -56                  // pcre2.h:391:1:
   352  	DPCRE2_ERROR_BADOPTION                           = -34                  // pcre2.h:368:1:
   353  	DPCRE2_ERROR_BADREPESCAPE                        = -57                  // pcre2.h:392:1:
   354  	DPCRE2_ERROR_BADREPLACEMENT                      = -35                  // pcre2.h:369:1:
   355  	DPCRE2_ERROR_BADSERIALIZEDDATA                   = -62                  // pcre2.h:397:1:
   356  	DPCRE2_ERROR_BADSUBSPATTERN                      = -60                  // pcre2.h:395:1:
   357  	DPCRE2_ERROR_BADSUBSTITUTION                     = -59                  // pcre2.h:394:1:
   358  	DPCRE2_ERROR_BADUTFOFFSET                        = -36                  // pcre2.h:370:1:
   359  	DPCRE2_ERROR_BAD_LITERAL_OPTIONS                 = 192                  // pcre2.h:308:1:
   360  	DPCRE2_ERROR_BAD_OPTIONS                         = 117                  // pcre2.h:232:1:
   361  	DPCRE2_ERROR_BAD_RELATIVE_REFERENCE              = 129                  // pcre2.h:244:1:
   362  	DPCRE2_ERROR_BAD_SUBPATTERN_REFERENCE            = 115                  // pcre2.h:230:1:
   363  	DPCRE2_ERROR_CALLOUT                             = -37                  // pcre2.h:371:1:
   364  	DPCRE2_ERROR_CALLOUT_BAD_STRING_DELIMITER        = 182                  // pcre2.h:298:1:
   365  	DPCRE2_ERROR_CALLOUT_NO_STRING_DELIMITER         = 181                  // pcre2.h:297:1:
   366  	DPCRE2_ERROR_CALLOUT_NUMBER_TOO_BIG              = 138                  // pcre2.h:253:1:
   367  	DPCRE2_ERROR_CALLOUT_STRING_TOO_LONG             = 172                  // pcre2.h:288:1:
   368  	DPCRE2_ERROR_CLASS_INVALID_RANGE                 = 150                  // pcre2.h:265:1:
   369  	DPCRE2_ERROR_CLASS_RANGE_ORDER                   = 108                  // pcre2.h:223:1:
   370  	DPCRE2_ERROR_CODE_POINT_TOO_BIG                  = 134                  // pcre2.h:249:1:
   371  	DPCRE2_ERROR_CONDITION_ASSERTION_EXPECTED        = 128                  // pcre2.h:243:1:
   372  	DPCRE2_ERROR_CONDITION_ATOMIC_ASSERTION_EXPECTED = 198                  // pcre2.h:314:1:
   373  	DPCRE2_ERROR_CONVERT_SYNTAX                      = -64                  // pcre2.h:399:1:
   374  	DPCRE2_ERROR_DEFINE_TOO_MANY_BRANCHES            = 154                  // pcre2.h:269:1:
   375  	DPCRE2_ERROR_DEPTHLIMIT                          = -53                  // pcre2.h:387:1:
   376  	DPCRE2_ERROR_DFA_BADRESTART                      = -38                  // pcre2.h:372:1:
   377  	DPCRE2_ERROR_DFA_RECURSE                         = -39                  // pcre2.h:373:1:
   378  	DPCRE2_ERROR_DFA_UCOND                           = -40                  // pcre2.h:374:1:
   379  	DPCRE2_ERROR_DFA_UFUNC                           = -41                  // pcre2.h:375:1:
   380  	DPCRE2_ERROR_DFA_UINVALID_UTF                    = -66                  // pcre2.h:401:1:
   381  	DPCRE2_ERROR_DFA_UITEM                           = -42                  // pcre2.h:376:1:
   382  	DPCRE2_ERROR_DFA_WSSIZE                          = -43                  // pcre2.h:377:1:
   383  	DPCRE2_ERROR_DUPLICATE_SUBPATTERN_NAME           = 143                  // pcre2.h:258:1:
   384  	DPCRE2_ERROR_END_BACKSLASH                       = 101                  // pcre2.h:216:1:
   385  	DPCRE2_ERROR_END_BACKSLASH_C                     = 102                  // pcre2.h:217:1:
   386  	DPCRE2_ERROR_ESCAPE_INVALID_IN_CLASS             = 107                  // pcre2.h:222:1:
   387  	DPCRE2_ERROR_ESCAPE_INVALID_IN_VERB              = 140                  // pcre2.h:255:1:
   388  	DPCRE2_ERROR_HEAPLIMIT                           = -63                  // pcre2.h:398:1:
   389  	DPCRE2_ERROR_HEAP_FAILED                         = 121                  // pcre2.h:236:1:
   390  	DPCRE2_ERROR_INTERNAL                            = -44                  // pcre2.h:378:1:
   391  	DPCRE2_ERROR_INTERNAL_BAD_CODE                   = 189                  // pcre2.h:305:1:
   392  	DPCRE2_ERROR_INTERNAL_BAD_CODE_AUTO_POSSESS      = 180                  // pcre2.h:296:1:
   393  	DPCRE2_ERROR_INTERNAL_BAD_CODE_IN_SKIP           = 190                  // pcre2.h:306:1:
   394  	DPCRE2_ERROR_INTERNAL_BAD_CODE_LOOKBEHINDS       = 170                  // pcre2.h:286:1:
   395  	DPCRE2_ERROR_INTERNAL_CODE_OVERFLOW              = 123                  // pcre2.h:238:1:
   396  	DPCRE2_ERROR_INTERNAL_DUPMATCH                   = -65                  // pcre2.h:400:1:
   397  	DPCRE2_ERROR_INTERNAL_MISSING_SUBPATTERN         = 153                  // pcre2.h:268:1:
   398  	DPCRE2_ERROR_INTERNAL_OVERRAN_WORKSPACE          = 152                  // pcre2.h:267:1:
   399  	DPCRE2_ERROR_INTERNAL_PARSED_OVERFLOW            = 163                  // pcre2.h:279:1:
   400  	DPCRE2_ERROR_INTERNAL_STUDY_ERROR                = 131                  // pcre2.h:246:1:
   401  	DPCRE2_ERROR_INTERNAL_UNEXPECTED_REPEAT          = 110                  // pcre2.h:225:1:
   402  	DPCRE2_ERROR_INTERNAL_UNKNOWN_NEWLINE            = 156                  // pcre2.h:271:1:
   403  	DPCRE2_ERROR_INVALID_AFTER_PARENS_QUERY          = 111                  // pcre2.h:226:1:
   404  	DPCRE2_ERROR_INVALID_HEXADECIMAL                 = 167                  // pcre2.h:283:1:
   405  	DPCRE2_ERROR_INVALID_HYPHEN_IN_OPTIONS           = 194                  // pcre2.h:310:1:
   406  	DPCRE2_ERROR_INVALID_OCTAL                       = 164                  // pcre2.h:280:1:
   407  	DPCRE2_ERROR_INVALID_SUBPATTERN_NAME             = 144                  // pcre2.h:259:1:
   408  	DPCRE2_ERROR_JIT_BADOPTION                       = -45                  // pcre2.h:379:1:
   409  	DPCRE2_ERROR_JIT_STACKLIMIT                      = -46                  // pcre2.h:380:1:
   410  	DPCRE2_ERROR_LOOKBEHIND_INVALID_BACKSLASH_C      = 136                  // pcre2.h:251:1:
   411  	DPCRE2_ERROR_LOOKBEHIND_NOT_FIXED_LENGTH         = 125                  // pcre2.h:240:1:
   412  	DPCRE2_ERROR_LOOKBEHIND_TOO_COMPLICATED          = 135                  // pcre2.h:250:1:
   413  	DPCRE2_ERROR_LOOKBEHIND_TOO_LONG                 = 187                  // pcre2.h:303:1:
   414  	DPCRE2_ERROR_MALFORMED_UNICODE_PROPERTY          = 146                  // pcre2.h:261:1:
   415  	DPCRE2_ERROR_MARK_MISSING_ARGUMENT               = 166                  // pcre2.h:282:1:
   416  	DPCRE2_ERROR_MATCHLIMIT                          = -47                  // pcre2.h:381:1:
   417  	DPCRE2_ERROR_MISSING_CALLOUT_CLOSING             = 139                  // pcre2.h:254:1:
   418  	DPCRE2_ERROR_MISSING_CLOSING_PARENTHESIS         = 114                  // pcre2.h:229:1:
   419  	DPCRE2_ERROR_MISSING_COMMENT_CLOSING             = 118                  // pcre2.h:233:1:
   420  	DPCRE2_ERROR_MISSING_CONDITION_CLOSING           = 124                  // pcre2.h:239:1:
   421  	DPCRE2_ERROR_MISSING_NAME_TERMINATOR             = 142                  // pcre2.h:257:1:
   422  	DPCRE2_ERROR_MISSING_OCTAL_OR_HEX_DIGITS         = 178                  // pcre2.h:294:1:
   423  	DPCRE2_ERROR_MISSING_SQUARE_BRACKET              = 106                  // pcre2.h:221:1:
   424  	DPCRE2_ERROR_MIXEDTABLES                         = -30                  // pcre2.h:364:1:
   425  	DPCRE2_ERROR_NOMATCH                             = -1                   // pcre2.h:320:1:
   426  	DPCRE2_ERROR_NOMEMORY                            = -48                  // pcre2.h:382:1:
   427  	DPCRE2_ERROR_NOSUBSTRING                         = -49                  // pcre2.h:383:1:
   428  	DPCRE2_ERROR_NOUNIQUESUBSTRING                   = -50                  // pcre2.h:384:1:
   429  	DPCRE2_ERROR_NO_SURROGATES_IN_UTF16              = 191                  // pcre2.h:307:1:
   430  	DPCRE2_ERROR_NULL                                = -51                  // pcre2.h:385:1:
   431  	DPCRE2_ERROR_NULL_PATTERN                        = 116                  // pcre2.h:231:1:
   432  	DPCRE2_ERROR_OCTAL_BYTE_TOO_BIG                  = 151                  // pcre2.h:266:1:
   433  	DPCRE2_ERROR_PARENS_QUERY_R_MISSING_CLOSING      = 158                  // pcre2.h:273:1:
   434  	DPCRE2_ERROR_PARENTHESES_NEST_TOO_DEEP           = 119                  // pcre2.h:234:1:
   435  	DPCRE2_ERROR_PARENTHESES_STACK_CHECK             = 133                  // pcre2.h:248:1:
   436  	DPCRE2_ERROR_PARTIAL                             = -2                   // pcre2.h:321:1:
   437  	DPCRE2_ERROR_PATTERN_STRING_TOO_LONG             = 188                  // pcre2.h:304:1:
   438  	DPCRE2_ERROR_PATTERN_TOO_COMPLICATED             = 186                  // pcre2.h:302:1:
   439  	DPCRE2_ERROR_PATTERN_TOO_LARGE                   = 120                  // pcre2.h:235:1:
   440  	DPCRE2_ERROR_POSIX_CLASS_NOT_IN_CLASS            = 112                  // pcre2.h:227:1:
   441  	DPCRE2_ERROR_POSIX_NO_SUPPORT_COLLATING          = 113                  // pcre2.h:228:1:
   442  	DPCRE2_ERROR_QUANTIFIER_INVALID                  = 109                  // pcre2.h:224:1:
   443  	DPCRE2_ERROR_QUANTIFIER_OUT_OF_ORDER             = 104                  // pcre2.h:219:1:
   444  	DPCRE2_ERROR_QUANTIFIER_TOO_BIG                  = 105                  // pcre2.h:220:1:
   445  	DPCRE2_ERROR_QUERY_BARJX_NEST_TOO_DEEP           = 184                  // pcre2.h:300:1:
   446  	DPCRE2_ERROR_RECURSELOOP                         = -52                  // pcre2.h:386:1:
   447  	DPCRE2_ERROR_RECURSIONLIMIT                      = -53                  // pcre2.h:388:1:
   448  	DPCRE2_ERROR_REPMISSINGBRACE                     = -58                  // pcre2.h:393:1:
   449  	DPCRE2_ERROR_SCRIPT_RUN_NOT_AVAILABLE            = 196                  // pcre2.h:312:1:
   450  	DPCRE2_ERROR_SUBPATTERN_NAMES_MISMATCH           = 165                  // pcre2.h:281:1:
   451  	DPCRE2_ERROR_SUBPATTERN_NAME_EXPECTED            = 162                  // pcre2.h:278:1:
   452  	DPCRE2_ERROR_SUBPATTERN_NAME_TOO_LONG            = 148                  // pcre2.h:263:1:
   453  	DPCRE2_ERROR_SUBPATTERN_NUMBER_TOO_BIG           = 161                  // pcre2.h:277:1:
   454  	DPCRE2_ERROR_SUPPORTED_ONLY_IN_UNICODE           = 193                  // pcre2.h:309:1:
   455  	DPCRE2_ERROR_TOOMANYREPLACE                      = -61                  // pcre2.h:396:1:
   456  	DPCRE2_ERROR_TOO_MANY_CAPTURES                   = 197                  // pcre2.h:313:1:
   457  	DPCRE2_ERROR_TOO_MANY_CONDITION_BRANCHES         = 127                  // pcre2.h:242:1:
   458  	DPCRE2_ERROR_TOO_MANY_NAMED_SUBPATTERNS          = 149                  // pcre2.h:264:1:
   459  	DPCRE2_ERROR_UCP_IS_DISABLED                     = 175                  // pcre2.h:291:1:
   460  	DPCRE2_ERROR_UNAVAILABLE                         = -54                  // pcre2.h:389:1:
   461  	DPCRE2_ERROR_UNICODE_DISALLOWED_CODE_POINT       = 173                  // pcre2.h:289:1:
   462  	DPCRE2_ERROR_UNICODE_NOT_SUPPORTED               = 132                  // pcre2.h:247:1:
   463  	DPCRE2_ERROR_UNICODE_PROPERTIES_UNAVAILABLE      = 145                  // pcre2.h:260:1:
   464  	DPCRE2_ERROR_UNKNOWN_ESCAPE                      = 103                  // pcre2.h:218:1:
   465  	DPCRE2_ERROR_UNKNOWN_POSIX_CLASS                 = 130                  // pcre2.h:245:1:
   466  	DPCRE2_ERROR_UNKNOWN_UNICODE_PROPERTY            = 147                  // pcre2.h:262:1:
   467  	DPCRE2_ERROR_UNMATCHED_CLOSING_PARENTHESIS       = 122                  // pcre2.h:237:1:
   468  	DPCRE2_ERROR_UNRECOGNIZED_AFTER_QUERY_P          = 141                  // pcre2.h:256:1:
   469  	DPCRE2_ERROR_UNSET                               = -55                  // pcre2.h:390:1:
   470  	DPCRE2_ERROR_UNSUPPORTED_ESCAPE_SEQUENCE         = 137                  // pcre2.h:252:1:
   471  	DPCRE2_ERROR_UTF16_ERR1                          = -24                  // pcre2.h:349:1:
   472  	DPCRE2_ERROR_UTF16_ERR2                          = -25                  // pcre2.h:350:1:
   473  	DPCRE2_ERROR_UTF16_ERR3                          = -26                  // pcre2.h:351:1:
   474  	DPCRE2_ERROR_UTF32_ERR1                          = -27                  // pcre2.h:355:1:
   475  	DPCRE2_ERROR_UTF32_ERR2                          = -28                  // pcre2.h:356:1:
   476  	DPCRE2_ERROR_UTF8_ERR1                           = -3                   // pcre2.h:325:1:
   477  	DPCRE2_ERROR_UTF8_ERR10                          = -12                  // pcre2.h:334:1:
   478  	DPCRE2_ERROR_UTF8_ERR11                          = -13                  // pcre2.h:335:1:
   479  	DPCRE2_ERROR_UTF8_ERR12                          = -14                  // pcre2.h:336:1:
   480  	DPCRE2_ERROR_UTF8_ERR13                          = -15                  // pcre2.h:337:1:
   481  	DPCRE2_ERROR_UTF8_ERR14                          = -16                  // pcre2.h:338:1:
   482  	DPCRE2_ERROR_UTF8_ERR15                          = -17                  // pcre2.h:339:1:
   483  	DPCRE2_ERROR_UTF8_ERR16                          = -18                  // pcre2.h:340:1:
   484  	DPCRE2_ERROR_UTF8_ERR17                          = -19                  // pcre2.h:341:1:
   485  	DPCRE2_ERROR_UTF8_ERR18                          = -20                  // pcre2.h:342:1:
   486  	DPCRE2_ERROR_UTF8_ERR19                          = -21                  // pcre2.h:343:1:
   487  	DPCRE2_ERROR_UTF8_ERR2                           = -4                   // pcre2.h:326:1:
   488  	DPCRE2_ERROR_UTF8_ERR20                          = -22                  // pcre2.h:344:1:
   489  	DPCRE2_ERROR_UTF8_ERR21                          = -23                  // pcre2.h:345:1:
   490  	DPCRE2_ERROR_UTF8_ERR3                           = -5                   // pcre2.h:327:1:
   491  	DPCRE2_ERROR_UTF8_ERR4                           = -6                   // pcre2.h:328:1:
   492  	DPCRE2_ERROR_UTF8_ERR5                           = -7                   // pcre2.h:329:1:
   493  	DPCRE2_ERROR_UTF8_ERR6                           = -8                   // pcre2.h:330:1:
   494  	DPCRE2_ERROR_UTF8_ERR7                           = -9                   // pcre2.h:331:1:
   495  	DPCRE2_ERROR_UTF8_ERR8                           = -10                  // pcre2.h:332:1:
   496  	DPCRE2_ERROR_UTF8_ERR9                           = -11                  // pcre2.h:333:1:
   497  	DPCRE2_ERROR_UTF_IS_DISABLED                     = 174                  // pcre2.h:290:1:
   498  	DPCRE2_ERROR_VERB_ARGUMENT_NOT_ALLOWED           = 159                  // pcre2.h:275:1:
   499  	DPCRE2_ERROR_VERB_NAME_TOO_LONG                  = 176                  // pcre2.h:292:1:
   500  	DPCRE2_ERROR_VERB_UNKNOWN                        = 160                  // pcre2.h:276:1:
   501  	DPCRE2_ERROR_VERSION_CONDITION_SYNTAX            = 179                  // pcre2.h:295:1:
   502  	DPCRE2_ERROR_ZERO_RELATIVE_REFERENCE             = 126                  // pcre2.h:241:1:
   503  	DPCRE2_EXTENDED                                  = 0x00000080           // pcre2.h:126:1:
   504  	DPCRE2_EXTENDED_MORE                             = 0x01000000           // pcre2.h:143:1:
   505  	DPCRE2_EXTRA_ALLOW_LOOKAROUND_BSK                = 0x00000040           // pcre2.h:155:1:
   506  	DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES             = 0x00000001           // pcre2.h:149:1:
   507  	DPCRE2_EXTRA_ALT_BSUX                            = 0x00000020           // pcre2.h:154:1:
   508  	DPCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL               = 0x00000002           // pcre2.h:150:1:
   509  	DPCRE2_EXTRA_ESCAPED_CR_IS_LF                    = 0x00000010           // pcre2.h:153:1:
   510  	DPCRE2_EXTRA_MATCH_LINE                          = 0x00000008           // pcre2.h:152:1:
   511  	DPCRE2_EXTRA_MATCH_WORD                          = 0x00000004           // pcre2.h:151:1:
   512  	DPCRE2_FIRSTCASELESS                             = 0x00000020           // pcre2_internal.h:513:1:
   513  	DPCRE2_FIRSTLINE                                 = 0x00000100           // pcre2.h:127:1:
   514  	DPCRE2_FIRSTMAPSET                               = 0x00000040           // pcre2_internal.h:514:1:
   515  	DPCRE2_FIRSTSET                                  = 0x00000010           // pcre2_internal.h:512:1:
   516  	DPCRE2_HASACCEPT                                 = 0x00800000           // pcre2_internal.h:531:1:
   517  	DPCRE2_HASBKC                                    = 0x00400000           // pcre2_internal.h:530:1:
   518  	DPCRE2_HASBKPORX                                 = 0x00100000           // pcre2_internal.h:528:1:
   519  	DPCRE2_HASCRORLF                                 = 0x00000800           // pcre2_internal.h:519:1:
   520  	DPCRE2_HASTHEN                                   = 0x00001000           // pcre2_internal.h:520:1:
   521  	DPCRE2_H_IDEMPOTENT_GUARD                        = 0                    // pcre2.h:40:1:
   522  	DPCRE2_INFO_ALLOPTIONS                           = 0                    // pcre2.h:406:1:
   523  	DPCRE2_INFO_ARGOPTIONS                           = 1                    // pcre2.h:407:1:
   524  	DPCRE2_INFO_BACKREFMAX                           = 2                    // pcre2.h:408:1:
   525  	DPCRE2_INFO_BSR                                  = 3                    // pcre2.h:409:1:
   526  	DPCRE2_INFO_CAPTURECOUNT                         = 4                    // pcre2.h:410:1:
   527  	DPCRE2_INFO_DEPTHLIMIT                           = 21                   // pcre2.h:427:1:
   528  	DPCRE2_INFO_EXTRAOPTIONS                         = 26                   // pcre2.h:433:1:
   529  	DPCRE2_INFO_FIRSTBITMAP                          = 7                    // pcre2.h:413:1:
   530  	DPCRE2_INFO_FIRSTCODETYPE                        = 6                    // pcre2.h:412:1:
   531  	DPCRE2_INFO_FIRSTCODEUNIT                        = 5                    // pcre2.h:411:1:
   532  	DPCRE2_INFO_FRAMESIZE                            = 24                   // pcre2.h:431:1:
   533  	DPCRE2_INFO_HASBACKSLASHC                        = 23                   // pcre2.h:430:1:
   534  	DPCRE2_INFO_HASCRORLF                            = 8                    // pcre2.h:414:1:
   535  	DPCRE2_INFO_HEAPLIMIT                            = 25                   // pcre2.h:432:1:
   536  	DPCRE2_INFO_JCHANGED                             = 9                    // pcre2.h:415:1:
   537  	DPCRE2_INFO_JITSIZE                              = 10                   // pcre2.h:416:1:
   538  	DPCRE2_INFO_LASTCODETYPE                         = 12                   // pcre2.h:418:1:
   539  	DPCRE2_INFO_LASTCODEUNIT                         = 11                   // pcre2.h:417:1:
   540  	DPCRE2_INFO_MATCHEMPTY                           = 13                   // pcre2.h:419:1:
   541  	DPCRE2_INFO_MATCHLIMIT                           = 14                   // pcre2.h:420:1:
   542  	DPCRE2_INFO_MAXLOOKBEHIND                        = 15                   // pcre2.h:421:1:
   543  	DPCRE2_INFO_MINLENGTH                            = 16                   // pcre2.h:422:1:
   544  	DPCRE2_INFO_NAMECOUNT                            = 17                   // pcre2.h:423:1:
   545  	DPCRE2_INFO_NAMEENTRYSIZE                        = 18                   // pcre2.h:424:1:
   546  	DPCRE2_INFO_NAMETABLE                            = 19                   // pcre2.h:425:1:
   547  	DPCRE2_INFO_NEWLINE                              = 20                   // pcre2.h:426:1:
   548  	DPCRE2_INFO_RECURSIONLIMIT                       = 21                   // pcre2.h:428:1:
   549  	DPCRE2_INFO_SIZE                                 = 22                   // pcre2.h:429:1:
   550  	DPCRE2_INTERNAL_H_IDEMPOTENT_GUARD               = 0                    // pcre2_internal.h:42:1:
   551  	DPCRE2_JCHANGED                                  = 0x00000400           // pcre2_internal.h:518:1:
   552  	DPCRE2_JIT_COMPLETE                              = 0x00000001           // pcre2.h:159:1:
   553  	DPCRE2_JIT_INVALID_UTF                           = 0x00000100           // pcre2.h:162:1:
   554  	DPCRE2_JIT_PARTIAL_HARD                          = 0x00000004           // pcre2.h:161:1:
   555  	DPCRE2_JIT_PARTIAL_SOFT                          = 0x00000002           // pcre2.h:160:1:
   556  	DPCRE2_KEEP_UNINITIALIZED                        = 0                    // pcre2_internal.h:87:1:
   557  	DPCRE2_LASTCASELESS                              = 0x00000100           // pcre2_internal.h:516:1:
   558  	DPCRE2_LASTSET                                   = 0x00000080           // pcre2_internal.h:515:1:
   559  	DPCRE2_LITERAL                                   = 0x02000000           // pcre2.h:144:1:
   560  	DPCRE2_MAJOR                                     = 10                   // pcre2.h:44:1:
   561  	DPCRE2_MATCH_EMPTY                               = 0x00002000           // pcre2_internal.h:521:1:
   562  	DPCRE2_MATCH_INVALID_UTF                         = 0x04000000           // pcre2.h:145:1:
   563  	DPCRE2_MATCH_UNSET_BACKREF                       = 0x00000200           // pcre2.h:128:1:
   564  	DPCRE2_MD_COPIED_SUBJECT                         = 0x01                 // pcre2_internal.h:543:1:
   565  	DPCRE2_MINOR                                     = 40                   // pcre2.h:45:1:
   566  	DPCRE2_MODE16                                    = 0x00000002           // pcre2_internal.h:510:1:
   567  	DPCRE2_MODE32                                    = 0x00000004           // pcre2_internal.h:511:1:
   568  	DPCRE2_MODE8                                     = 0x00000001           // pcre2_internal.h:509:1:
   569  	DPCRE2_MODE_MASK                                 = 7                    // pcre2_internal.h:533:1:
   570  	DPCRE2_MULTILINE                                 = 0x00000400           // pcre2.h:129:1:
   571  	DPCRE2_NEVER_BACKSLASH_C                         = 0x00100000           // pcre2.h:139:1:
   572  	DPCRE2_NEVER_UCP                                 = 0x00000800           // pcre2.h:130:1:
   573  	DPCRE2_NEVER_UTF                                 = 0x00001000           // pcre2.h:131:1:
   574  	DPCRE2_NEWLINE_ANY                               = 4                    // pcre2.h:206:1:
   575  	DPCRE2_NEWLINE_ANYCRLF                           = 5                    // pcre2.h:207:1:
   576  	DPCRE2_NEWLINE_CR                                = 1                    // pcre2.h:203:1:
   577  	DPCRE2_NEWLINE_CRLF                              = 3                    // pcre2.h:205:1:
   578  	DPCRE2_NEWLINE_LF                                = 2                    // pcre2.h:204:1:
   579  	DPCRE2_NEWLINE_NUL                               = 6                    // pcre2.h:208:1:
   580  	DPCRE2_NE_ATST_SET                               = 0x00020000           // pcre2_internal.h:525:1:
   581  	DPCRE2_NL_SET                                    = 0x00008000           // pcre2_internal.h:523:1:
   582  	DPCRE2_NOJIT                                     = 0x00080000           // pcre2_internal.h:527:1:
   583  	DPCRE2_NOTBOL                                    = 0x00000001           // pcre2.h:170:1:
   584  	DPCRE2_NOTEMPTY                                  = 0x00000004           // pcre2.h:172:1:
   585  	DPCRE2_NOTEMPTY_ATSTART                          = 0x00000008           // pcre2.h:173:1:
   586  	DPCRE2_NOTEMPTY_SET                              = 0x00010000           // pcre2_internal.h:524:1:
   587  	DPCRE2_NOTEOL                                    = 0x00000002           // pcre2.h:171:1:
   588  	DPCRE2_NO_AUTO_CAPTURE                           = 0x00002000           // pcre2.h:132:1:
   589  	DPCRE2_NO_AUTO_POSSESS                           = 0x00004000           // pcre2.h:133:1:
   590  	DPCRE2_NO_DOTSTAR_ANCHOR                         = 0x00008000           // pcre2.h:134:1:
   591  	DPCRE2_NO_JIT                                    = 0x00002000           // pcre2.h:183:1:
   592  	DPCRE2_NO_START_OPTIMIZE                         = 0x00010000           // pcre2.h:135:1:
   593  	DPCRE2_NO_UTF_CHECK                              = 0x40000000           // pcre2.h:106:1:
   594  	DPCRE2_PARTIAL_HARD                              = 0x00000020           // pcre2.h:175:1:
   595  	DPCRE2_PARTIAL_SOFT                              = 0x00000010           // pcre2.h:174:1:
   596  	DPCRE2_PRERELEASE                                = 0                    // pcre2.h:46:1:
   597  	DPCRE2_SIZE_MAX                                  = 18446744073709551615 // pcre2.h:472:1:
   598  	DPCRE2_STARTLINE                                 = 0x00000200           // pcre2_internal.h:517:1:
   599  	DPCRE2_STATIC                                    = 1                    // config.h:278:1:
   600  	DPCRE2_SUBSTITUTE_EXTENDED                       = 0x00000200           // pcre2.h:179:1:
   601  	DPCRE2_SUBSTITUTE_GLOBAL                         = 0x00000100           // pcre2.h:178:1:
   602  	DPCRE2_SUBSTITUTE_LITERAL                        = 0x00008000           // pcre2.h:185:1:
   603  	DPCRE2_SUBSTITUTE_MATCHED                        = 0x00010000           // pcre2.h:186:1:
   604  	DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH                = 0x00001000           // pcre2.h:182:1:
   605  	DPCRE2_SUBSTITUTE_REPLACEMENT_ONLY               = 0x00020000           // pcre2.h:187:1:
   606  	DPCRE2_SUBSTITUTE_UNKNOWN_UNSET                  = 0x00000800           // pcre2.h:181:1:
   607  	DPCRE2_SUBSTITUTE_UNSET_EMPTY                    = 0x00000400           // pcre2.h:180:1:
   608  	DPCRE2_UCP                                       = 0x00020000           // pcre2.h:136:1:
   609  	DPCRE2_UCP_H_IDEMPOTENT_GUARD                    = 0                    // pcre2_ucp.h:46:1:
   610  	DPCRE2_UNGREEDY                                  = 0x00040000           // pcre2.h:137:1:
   611  	DPCRE2_USE_OFFSET_LIMIT                          = 0x00800000           // pcre2.h:142:1:
   612  	DPCRE2_UTF                                       = 0x00080000           // pcre2.h:138:1:
   613  	DPDP_ENDIAN                                      = 3412                 // endian.h:29:1:
   614  	DPIPE_BUF                                        = 4096                 // limits.h:14:1:
   615  	DPRIX16                                          = "X"                  // inttypes.h:135:1:
   616  	DPRIX32                                          = "X"                  // inttypes.h:136:1:
   617  	DPRIX8                                           = "X"                  // inttypes.h:134:1:
   618  	DPRIXFAST8                                       = "X"                  // inttypes.h:144:1:
   619  	DPRIXLEAST16                                     = "X"                  // inttypes.h:140:1:
   620  	DPRIXLEAST32                                     = "X"                  // inttypes.h:141:1:
   621  	DPRIXLEAST8                                      = "X"                  // inttypes.h:139:1:
   622  	DPRId16                                          = "d"                  // inttypes.h:55:1:
   623  	DPRId32                                          = "d"                  // inttypes.h:56:1:
   624  	DPRId8                                           = "d"                  // inttypes.h:54:1:
   625  	DPRIdFAST8                                       = "d"                  // inttypes.h:64:1:
   626  	DPRIdLEAST16                                     = "d"                  // inttypes.h:60:1:
   627  	DPRIdLEAST32                                     = "d"                  // inttypes.h:61:1:
   628  	DPRIdLEAST8                                      = "d"                  // inttypes.h:59:1:
   629  	DPRIi16                                          = "i"                  // inttypes.h:71:1:
   630  	DPRIi32                                          = "i"                  // inttypes.h:72:1:
   631  	DPRIi8                                           = "i"                  // inttypes.h:70:1:
   632  	DPRIiFAST8                                       = "i"                  // inttypes.h:80:1:
   633  	DPRIiLEAST16                                     = "i"                  // inttypes.h:76:1:
   634  	DPRIiLEAST32                                     = "i"                  // inttypes.h:77:1:
   635  	DPRIiLEAST8                                      = "i"                  // inttypes.h:75:1:
   636  	DPRIo16                                          = "o"                  // inttypes.h:87:1:
   637  	DPRIo32                                          = "o"                  // inttypes.h:88:1:
   638  	DPRIo8                                           = "o"                  // inttypes.h:86:1:
   639  	DPRIoFAST8                                       = "o"                  // inttypes.h:96:1:
   640  	DPRIoLEAST16                                     = "o"                  // inttypes.h:92:1:
   641  	DPRIoLEAST32                                     = "o"                  // inttypes.h:93:1:
   642  	DPRIoLEAST8                                      = "o"                  // inttypes.h:91:1:
   643  	DPRIu16                                          = "u"                  // inttypes.h:103:1:
   644  	DPRIu32                                          = "u"                  // inttypes.h:104:1:
   645  	DPRIu8                                           = "u"                  // inttypes.h:102:1:
   646  	DPRIuFAST8                                       = "u"                  // inttypes.h:112:1:
   647  	DPRIuLEAST16                                     = "u"                  // inttypes.h:108:1:
   648  	DPRIuLEAST32                                     = "u"                  // inttypes.h:109:1:
   649  	DPRIuLEAST8                                      = "u"                  // inttypes.h:107:1:
   650  	DPRIx16                                          = "x"                  // inttypes.h:119:1:
   651  	DPRIx32                                          = "x"                  // inttypes.h:120:1:
   652  	DPRIx8                                           = "x"                  // inttypes.h:118:1:
   653  	DPRIxFAST8                                       = "x"                  // inttypes.h:128:1:
   654  	DPRIxLEAST16                                     = "x"                  // inttypes.h:124:1:
   655  	DPRIxLEAST32                                     = "x"                  // inttypes.h:125:1:
   656  	DPRIxLEAST8                                      = "x"                  // inttypes.h:123:1:
   657  	DPTHREAD_DESTRUCTOR_ITERATIONS                   = 4                    // local_lim.h:69:1:
   658  	DPTHREAD_KEYS_MAX                                = 1024                 // local_lim.h:64:1:
   659  	DPTRDIFF_MAX                                     = 9223372036854775807  // stdint.h:210:1:
   660  	DPTRDIFF_MIN                                     = -9223372036854775808 // stdint.h:209:1:
   661  	DPTRDIFF_WIDTH                                   = 64                   // stdint.h:311:1:
   662  	DPT_ALNUM                                        = 6                    // pcre2_internal.h:1282:1:
   663  	DPT_ANY                                          = 0                    // pcre2_internal.h:1276:1:
   664  	DPT_BIDICL                                       = 12                   // pcre2_internal.h:1288:1:
   665  	DPT_BOOL                                         = 13                   // pcre2_internal.h:1289:1:
   666  	DPT_CLIST                                        = 10                   // pcre2_internal.h:1286:1:
   667  	DPT_GC                                           = 2                    // pcre2_internal.h:1278:1:
   668  	DPT_LAMP                                         = 1                    // pcre2_internal.h:1277:1:
   669  	DPT_NOTSCRIPT                                    = 255                  // pcre2_internal.h:1305:1:
   670  	DPT_PC                                           = 3                    // pcre2_internal.h:1279:1:
   671  	DPT_PXGRAPH                                      = 14                   // pcre2_internal.h:1298:1:
   672  	DPT_PXPRINT                                      = 15                   // pcre2_internal.h:1299:1:
   673  	DPT_PXPUNCT                                      = 16                   // pcre2_internal.h:1300:1:
   674  	DPT_PXSPACE                                      = 8                    // pcre2_internal.h:1284:1:
   675  	DPT_SC                                           = 4                    // pcre2_internal.h:1280:1:
   676  	DPT_SCX                                          = 5                    // pcre2_internal.h:1281:1:
   677  	DPT_SPACE                                        = 7                    // pcre2_internal.h:1283:1:
   678  	DPT_TABSIZE                                      = 14                   // pcre2_internal.h:1290:1:
   679  	DPT_UCNC                                         = 11                   // pcre2_internal.h:1287:1:
   680  	DPT_WORD                                         = 9                    // pcre2_internal.h:1285:1:
   681  	DP_tmpdir                                        = "/tmp"               // stdio.h:120:1:
   682  	DRAND_MAX                                        = 2147483647           // stdlib.h:87:1:
   683  	DRENAME_EXCHANGE                                 = 2                    // stdio.h:165:1:
   684  	DRENAME_NOREPLACE                                = 1                    // stdio.h:164:1:
   685  	DRENAME_WHITEOUT                                 = 4                    // stdio.h:166:1:
   686  	DREQ_CU_MAX                                      = 5000                 // pcre2_internal.h:555:1:
   687  	DRE_DUP_MAX                                      = 32767                // posix2_lim.h:88:1:
   688  	DRREF_ANY                                        = 0xffff               // pcre2_internal.h:1783:1:
   689  	DRTSIG_MAX                                       = 32                   // limits.h:19:1:
   690  	DSCHAR_MAX                                       = 127                  // limits.h:75:1:
   691  	DSCHAR_MIN                                       = -128                 // limits.h:73:1:
   692  	DSCHAR_WIDTH                                     = 8                    // limits.h:167:1:
   693  	DSCNd16                                          = "hd"                 // inttypes.h:172:1:
   694  	DSCNd32                                          = "d"                  // inttypes.h:173:1:
   695  	DSCNd8                                           = "hhd"                // inttypes.h:171:1:
   696  	DSCNdFAST8                                       = "hhd"                // inttypes.h:181:1:
   697  	DSCNdLEAST16                                     = "hd"                 // inttypes.h:177:1:
   698  	DSCNdLEAST32                                     = "d"                  // inttypes.h:178:1:
   699  	DSCNdLEAST8                                      = "hhd"                // inttypes.h:176:1:
   700  	DSCNi16                                          = "hi"                 // inttypes.h:188:1:
   701  	DSCNi32                                          = "i"                  // inttypes.h:189:1:
   702  	DSCNi8                                           = "hhi"                // inttypes.h:187:1:
   703  	DSCNiFAST8                                       = "hhi"                // inttypes.h:197:1:
   704  	DSCNiLEAST16                                     = "hi"                 // inttypes.h:193:1:
   705  	DSCNiLEAST32                                     = "i"                  // inttypes.h:194:1:
   706  	DSCNiLEAST8                                      = "hhi"                // inttypes.h:192:1:
   707  	DSCNo16                                          = "ho"                 // inttypes.h:220:1:
   708  	DSCNo32                                          = "o"                  // inttypes.h:221:1:
   709  	DSCNo8                                           = "hho"                // inttypes.h:219:1:
   710  	DSCNoFAST8                                       = "hho"                // inttypes.h:229:1:
   711  	DSCNoLEAST16                                     = "ho"                 // inttypes.h:225:1:
   712  	DSCNoLEAST32                                     = "o"                  // inttypes.h:226:1:
   713  	DSCNoLEAST8                                      = "hho"                // inttypes.h:224:1:
   714  	DSCNu16                                          = "hu"                 // inttypes.h:204:1:
   715  	DSCNu32                                          = "u"                  // inttypes.h:205:1:
   716  	DSCNu8                                           = "hhu"                // inttypes.h:203:1:
   717  	DSCNuFAST8                                       = "hhu"                // inttypes.h:213:1:
   718  	DSCNuLEAST16                                     = "hu"                 // inttypes.h:209:1:
   719  	DSCNuLEAST32                                     = "u"                  // inttypes.h:210:1:
   720  	DSCNuLEAST8                                      = "hhu"                // inttypes.h:208:1:
   721  	DSCNx16                                          = "hx"                 // inttypes.h:236:1:
   722  	DSCNx32                                          = "x"                  // inttypes.h:237:1:
   723  	DSCNx8                                           = "hhx"                // inttypes.h:235:1:
   724  	DSCNxFAST8                                       = "hhx"                // inttypes.h:245:1:
   725  	DSCNxLEAST16                                     = "hx"                 // inttypes.h:241:1:
   726  	DSCNxLEAST32                                     = "x"                  // inttypes.h:242:1:
   727  	DSCNxLEAST8                                      = "hhx"                // inttypes.h:240:1:
   728  	DSEEK_CUR                                        = 1                    // stdio.h:110:1:
   729  	DSEEK_DATA                                       = 3                    // stdio.h:113:1:
   730  	DSEEK_END                                        = 2                    // stdio.h:111:1:
   731  	DSEEK_HOLE                                       = 4                    // stdio.h:114:1:
   732  	DSEEK_SET                                        = 0                    // stdio.h:109:1:
   733  	DSEM_VALUE_MAX                                   = 2147483647           // local_lim.h:99:1:
   734  	DSHRT_MAX                                        = 32767                // limits.h:106:1:
   735  	DSHRT_MIN                                        = -32768               // limits.h:104:1:
   736  	DSHRT_WIDTH                                      = 16                   // limits.h:171:1:
   737  	DSIG_ATOMIC_MAX                                  = 2147483647           // stdint.h:223:1:
   738  	DSIG_ATOMIC_MIN                                  = -2147483648          // stdint.h:222:1:
   739  	DSIG_ATOMIC_WIDTH                                = 32                   // stdint.h:312:1:
   740  	DSIZE_MAX                                        = 18446744073709551615 // stdint.h:227:1:
   741  	DSIZE_WIDTH                                      = 64                   // stdint.h:313:1:
   742  	DSSIZE_MAX                                       = 9223372036854775807  // posix1_lim.h:169:1:
   743  	DSTART_FRAMES_SIZE                               = 20480                // pcre2_internal.h:231:1:
   744  	DSTDC_HEADERS                                    = 1                    // config.h:292:1:
   745  	DSTR_0                                           = "\060"               // pcre2_internal.h:1106:1:
   746  	DSTR_1                                           = "\061"               // pcre2_internal.h:1107:1:
   747  	DSTR_2                                           = "\062"               // pcre2_internal.h:1108:1:
   748  	DSTR_3                                           = "\063"               // pcre2_internal.h:1109:1:
   749  	DSTR_4                                           = "\064"               // pcre2_internal.h:1110:1:
   750  	DSTR_5                                           = "\065"               // pcre2_internal.h:1111:1:
   751  	DSTR_6                                           = "\066"               // pcre2_internal.h:1112:1:
   752  	DSTR_7                                           = "\067"               // pcre2_internal.h:1113:1:
   753  	DSTR_8                                           = "\070"               // pcre2_internal.h:1114:1:
   754  	DSTR_9                                           = "\071"               // pcre2_internal.h:1115:1:
   755  	DSTR_A                                           = "\101"               // pcre2_internal.h:1123:1:
   756  	DSTR_AMPERSAND                                   = "\046"               // pcre2_internal.h:1096:1:
   757  	DSTR_APOSTROPHE                                  = "\047"               // pcre2_internal.h:1097:1:
   758  	DSTR_ASTERISK                                    = "\052"               // pcre2_internal.h:1100:1:
   759  	DSTR_B                                           = "\102"               // pcre2_internal.h:1124:1:
   760  	DSTR_BACKSLASH                                   = "\134"               // pcre2_internal.h:1150:1:
   761  	DSTR_BEL                                         = "\007"               // pcre2_internal.h:1086:1:
   762  	DSTR_BS                                          = "\010"               // pcre2_internal.h:1085:1:
   763  	DSTR_C                                           = "\103"               // pcre2_internal.h:1125:1:
   764  	DSTR_CIRCUMFLEX_ACCENT                           = "\136"               // pcre2_internal.h:1152:1:
   765  	DSTR_COLON                                       = "\072"               // pcre2_internal.h:1116:1:
   766  	DSTR_COMMA                                       = "\054"               // pcre2_internal.h:1102:1:
   767  	DSTR_COMMERCIAL_AT                               = "\100"               // pcre2_internal.h:1122:1:
   768  	DSTR_CR                                          = "\015"               // pcre2_internal.h:1083:1:
   769  	DSTR_D                                           = "\104"               // pcre2_internal.h:1126:1:
   770  	DSTR_DEL                                         = "\177"               // pcre2_internal.h:1088:1:
   771  	DSTR_DOLLAR_SIGN                                 = "\044"               // pcre2_internal.h:1094:1:
   772  	DSTR_DOT                                         = "\056"               // pcre2_internal.h:1104:1:
   773  	DSTR_E                                           = "\105"               // pcre2_internal.h:1127:1:
   774  	DSTR_EQUALS_SIGN                                 = "\075"               // pcre2_internal.h:1119:1:
   775  	DSTR_ESC                                         = "\033"               // pcre2_internal.h:1087:1:
   776  	DSTR_EXCLAMATION_MARK                            = "\041"               // pcre2_internal.h:1091:1:
   777  	DSTR_F                                           = "\106"               // pcre2_internal.h:1128:1:
   778  	DSTR_FF                                          = "\014"               // pcre2_internal.h:1082:1:
   779  	DSTR_G                                           = "\107"               // pcre2_internal.h:1129:1:
   780  	DSTR_GRAVE_ACCENT                                = "\140"               // pcre2_internal.h:1154:1:
   781  	DSTR_GREATER_THAN_SIGN                           = "\076"               // pcre2_internal.h:1120:1:
   782  	DSTR_H                                           = "\110"               // pcre2_internal.h:1130:1:
   783  	DSTR_HT                                          = "\011"               // pcre2_internal.h:1080:1:
   784  	DSTR_I                                           = "\111"               // pcre2_internal.h:1131:1:
   785  	DSTR_J                                           = "\112"               // pcre2_internal.h:1132:1:
   786  	DSTR_K                                           = "\113"               // pcre2_internal.h:1133:1:
   787  	DSTR_L                                           = "\114"               // pcre2_internal.h:1134:1:
   788  	DSTR_LEFT_CURLY_BRACKET                          = "\173"               // pcre2_internal.h:1181:1:
   789  	DSTR_LEFT_PARENTHESIS                            = "\050"               // pcre2_internal.h:1098:1:
   790  	DSTR_LEFT_SQUARE_BRACKET                         = "\133"               // pcre2_internal.h:1149:1:
   791  	DSTR_LESS_THAN_SIGN                              = "\074"               // pcre2_internal.h:1118:1:
   792  	DSTR_M                                           = "\115"               // pcre2_internal.h:1135:1:
   793  	DSTR_MINUS                                       = "\055"               // pcre2_internal.h:1103:1:
   794  	DSTR_N                                           = "\116"               // pcre2_internal.h:1136:1:
   795  	DSTR_NL                                          = "\012"               // pcre2_internal.h:1084:1:
   796  	DSTR_NUMBER_SIGN                                 = "\043"               // pcre2_internal.h:1093:1:
   797  	DSTR_O                                           = "\117"               // pcre2_internal.h:1137:1:
   798  	DSTR_P                                           = "\120"               // pcre2_internal.h:1138:1:
   799  	DSTR_PERCENT_SIGN                                = "\045"               // pcre2_internal.h:1095:1:
   800  	DSTR_PLUS                                        = "\053"               // pcre2_internal.h:1101:1:
   801  	DSTR_Q                                           = "\121"               // pcre2_internal.h:1139:1:
   802  	DSTR_QUESTION_MARK                               = "\077"               // pcre2_internal.h:1121:1:
   803  	DSTR_QUOTATION_MARK                              = "\042"               // pcre2_internal.h:1092:1:
   804  	DSTR_R                                           = "\122"               // pcre2_internal.h:1140:1:
   805  	DSTR_RIGHT_CURLY_BRACKET                         = "\175"               // pcre2_internal.h:1183:1:
   806  	DSTR_RIGHT_PARENTHESIS                           = "\051"               // pcre2_internal.h:1099:1:
   807  	DSTR_RIGHT_SQUARE_BRACKET                        = "\135"               // pcre2_internal.h:1151:1:
   808  	DSTR_S                                           = "\123"               // pcre2_internal.h:1141:1:
   809  	DSTR_SEMICOLON                                   = "\073"               // pcre2_internal.h:1117:1:
   810  	DSTR_SLASH                                       = "\057"               // pcre2_internal.h:1105:1:
   811  	DSTR_SPACE                                       = "\040"               // pcre2_internal.h:1090:1:
   812  	DSTR_T                                           = "\124"               // pcre2_internal.h:1142:1:
   813  	DSTR_TILDE                                       = "\176"               // pcre2_internal.h:1184:1:
   814  	DSTR_U                                           = "\125"               // pcre2_internal.h:1143:1:
   815  	DSTR_UNDERSCORE                                  = "\137"               // pcre2_internal.h:1153:1:
   816  	DSTR_V                                           = "\126"               // pcre2_internal.h:1144:1:
   817  	DSTR_VERTICAL_LINE                               = "\174"               // pcre2_internal.h:1182:1:
   818  	DSTR_VT                                          = "\013"               // pcre2_internal.h:1081:1:
   819  	DSTR_W                                           = "\127"               // pcre2_internal.h:1145:1:
   820  	DSTR_X                                           = "\130"               // pcre2_internal.h:1146:1:
   821  	DSTR_Y                                           = "\131"               // pcre2_internal.h:1147:1:
   822  	DSTR_Z                                           = "\132"               // pcre2_internal.h:1148:1:
   823  	DSTR_a                                           = "\141"               // pcre2_internal.h:1155:1:
   824  	DSTR_b                                           = "\142"               // pcre2_internal.h:1156:1:
   825  	DSTR_c                                           = "\143"               // pcre2_internal.h:1157:1:
   826  	DSTR_d                                           = "\144"               // pcre2_internal.h:1158:1:
   827  	DSTR_e                                           = "\145"               // pcre2_internal.h:1159:1:
   828  	DSTR_f                                           = "\146"               // pcre2_internal.h:1160:1:
   829  	DSTR_g                                           = "\147"               // pcre2_internal.h:1161:1:
   830  	DSTR_h                                           = "\150"               // pcre2_internal.h:1162:1:
   831  	DSTR_i                                           = "\151"               // pcre2_internal.h:1163:1:
   832  	DSTR_j                                           = "\152"               // pcre2_internal.h:1164:1:
   833  	DSTR_k                                           = "\153"               // pcre2_internal.h:1165:1:
   834  	DSTR_l                                           = "\154"               // pcre2_internal.h:1166:1:
   835  	DSTR_m                                           = "\155"               // pcre2_internal.h:1167:1:
   836  	DSTR_n                                           = "\156"               // pcre2_internal.h:1168:1:
   837  	DSTR_o                                           = "\157"               // pcre2_internal.h:1169:1:
   838  	DSTR_p                                           = "\160"               // pcre2_internal.h:1170:1:
   839  	DSTR_q                                           = "\161"               // pcre2_internal.h:1171:1:
   840  	DSTR_r                                           = "\162"               // pcre2_internal.h:1172:1:
   841  	DSTR_s                                           = "\163"               // pcre2_internal.h:1173:1:
   842  	DSTR_t                                           = "\164"               // pcre2_internal.h:1174:1:
   843  	DSTR_u                                           = "\165"               // pcre2_internal.h:1175:1:
   844  	DSTR_v                                           = "\166"               // pcre2_internal.h:1176:1:
   845  	DSTR_w                                           = "\167"               // pcre2_internal.h:1177:1:
   846  	DSTR_x                                           = "\170"               // pcre2_internal.h:1178:1:
   847  	DSTR_y                                           = "\171"               // pcre2_internal.h:1179:1:
   848  	DSTR_z                                           = "\172"               // pcre2_internal.h:1180:1:
   849  	DSUPPORT_PCRE2GREP_CALLOUT                       = 0                    // config.h:312:1:
   850  	DSUPPORT_PCRE2GREP_CALLOUT_FORK                  = 0                    // config.h:317:1:
   851  	DSUPPORT_PCRE2_8                                 = 0                    // config.h:330:1:
   852  	DSUPPORT_UNICODE                                 = 0                    // config.h:336:1:
   853  	DSUPPORT_WIDE_CHARS                              = 0                    // pcre2_intmodedep.h:216:1:
   854  	DTABLES_LENGTH                                   = 1088                 // pcre2_internal.h:593:1:
   855  	DTMP_MAX                                         = 238328               // stdio_lim.h:26:1:
   856  	DTRUE                                            = 1                    // pcre2_internal.h:70:1:
   857  	DTTY_NAME_MAX                                    = 32                   // local_lim.h:87:1:
   858  	DUCD_BIDICLASS_SHIFT                             = 11                   // pcre2_internal.h:1844:1:
   859  	DUCD_BLOCK_SIZE                                  = 128                  // pcre2_internal.h:1831:1:
   860  	DUCD_BPROPS_MASK                                 = 0xfff                // pcre2_internal.h:1845:1:
   861  	DUCD_SCRIPTX_MASK                                = 0x3ff                // pcre2_internal.h:1843:1:
   862  	DUCHAR_MAX                                       = 255                  // limits.h:82:1:
   863  	DUCHAR_WIDTH                                     = 8                    // limits.h:169:1:
   864  	DUINT16_MAX                                      = 65535                // stdint.h:128:1:
   865  	DUINT16_WIDTH                                    = 16                   // stdint.h:281:1:
   866  	DUINT32_MAX                                      = 4294967295           // stdint.h:129:1:
   867  	DUINT32_WIDTH                                    = 32                   // stdint.h:283:1:
   868  	DUINT64_MAX                                      = 18446744073709551615 // stdint.h:130:1:
   869  	DUINT64_WIDTH                                    = 64                   // stdint.h:285:1:
   870  	DUINT8_MAX                                       = 255                  // stdint.h:127:1:
   871  	DUINT8_WIDTH                                     = 8                    // stdint.h:279:1:
   872  	DUINTMAX_MAX                                     = 18446744073709551615 // stdint.h:202:1:
   873  	DUINTMAX_WIDTH                                   = 64                   // stdint.h:309:1:
   874  	DUINTPTR_MAX                                     = 18446744073709551615 // stdint.h:188:1:
   875  	DUINTPTR_WIDTH                                   = 64                   // stdint.h:306:1:
   876  	DUINT_FAST16_MAX                                 = 18446744073709551615 // stdint.h:175:1:
   877  	DUINT_FAST16_WIDTH                               = 64                   // stdint.h:299:1:
   878  	DUINT_FAST32_MAX                                 = 18446744073709551615 // stdint.h:176:1:
   879  	DUINT_FAST32_WIDTH                               = 64                   // stdint.h:301:1:
   880  	DUINT_FAST64_MAX                                 = 18446744073709551615 // stdint.h:181:1:
   881  	DUINT_FAST64_WIDTH                               = 64                   // stdint.h:303:1:
   882  	DUINT_FAST8_MAX                                  = 255                  // stdint.h:173:1:
   883  	DUINT_FAST8_WIDTH                                = 8                    // stdint.h:297:1:
   884  	DUINT_LEAST16_MAX                                = 65535                // stdint.h:146:1:
   885  	DUINT_LEAST16_WIDTH                              = 16                   // stdint.h:290:1:
   886  	DUINT_LEAST32_MAX                                = 4294967295           // stdint.h:147:1:
   887  	DUINT_LEAST32_WIDTH                              = 32                   // stdint.h:292:1:
   888  	DUINT_LEAST64_MAX                                = 18446744073709551615 // stdint.h:148:1:
   889  	DUINT_LEAST64_WIDTH                              = 64                   // stdint.h:294:1:
   890  	DUINT_LEAST8_MAX                                 = 255                  // stdint.h:145:1:
   891  	DUINT_LEAST8_WIDTH                               = 8                    // stdint.h:288:1:
   892  	DUINT_MAX                                        = 4294967295           // limits.h:124:1:
   893  	DUINT_WIDTH                                      = 32                   // limits.h:177:1:
   894  	DULLONG_MAX                                      = 18446744073709551615 // limits.h:146:1:
   895  	DULLONG_WIDTH                                    = 64                   // limits.h:185:1:
   896  	DULONG_LONG_MAX                                  = 18446744073709551615 // limits.h:158:1:
   897  	DULONG_MAX                                       = 18446744073709551615 // limits.h:135:1:
   898  	DULONG_WIDTH                                     = 64                   // limits.h:181:1:
   899  	DUSHRT_MAX                                       = 65535                // limits.h:113:1:
   900  	DUSHRT_WIDTH                                     = 16                   // limits.h:173:1:
   901  	DVERSION                                         = "10.40"              // config.h:430:1:
   902  	DWCHAR_MAX                                       = 2147483647           // stdint.h:240:1:
   903  	DWCHAR_MIN                                       = -2147483648          // stdint.h:239:1:
   904  	DWCHAR_WIDTH                                     = 32                   // stdint.h:314:1:
   905  	DWCONTINUED                                      = 8                    // waitflags.h:32:1:
   906  	DWEXITED                                         = 4                    // waitflags.h:31:1:
   907  	DWINT_MAX                                        = 4294967295           // stdint.h:245:1:
   908  	DWINT_MIN                                        = 0                    // stdint.h:244:1:
   909  	DWINT_WIDTH                                      = 32                   // stdint.h:315:1:
   910  	DWNOHANG                                         = 1                    // waitflags.h:25:1:
   911  	DWNOWAIT                                         = 0x01000000           // waitflags.h:33:1:
   912  	DWORD_BIT                                        = 32                   // xopen_lim.h:114:1:
   913  	DWSTOPPED                                        = 2                    // waitflags.h:30:1:
   914  	DWUNTRACED                                       = 2                    // waitflags.h:26:1:
   915  	DXATTR_LIST_MAX                                  = 65536                // limits.h:17:1:
   916  	DXATTR_NAME_MAX                                  = 255                  // limits.h:15:1:
   917  	DXATTR_SIZE_MAX                                  = 65536                // limits.h:16:1:
   918  	DXCL_END                                         = 0                    // pcre2_internal.h:1314:1:
   919  	DXCL_HASPROP                                     = 0x04                 // pcre2_internal.h:1312:1:
   920  	DXCL_MAP                                         = 0x02                 // pcre2_internal.h:1311:1:
   921  	DXCL_NOT                                         = 0x01                 // pcre2_internal.h:1310:1:
   922  	DXCL_NOTPROP                                     = 4                    // pcre2_internal.h:1318:1:
   923  	DXCL_PROP                                        = 3                    // pcre2_internal.h:1317:1:
   924  	DXCL_RANGE                                       = 2                    // pcre2_internal.h:1316:1:
   925  	DXCL_SINGLE                                      = 1                    // pcre2_internal.h:1315:1:
   926  	D_ALLOCA_H                                       = 1                    // alloca.h:19:1:
   927  	D_ALL_SOURCE                                     = 1                    // config.h:343:1:
   928  	D_ANSI_STDDEF_H                                  = 0                    // stddef.h:42:1:
   929  	D_ATFILE_SOURCE                                  = 1                    // features.h:351:1:
   930  	D_BITS_ATOMIC_WIDE_COUNTER_H                     = 0                    // atomic_wide_counter.h:20:1:
   931  	D_BITS_BYTESWAP_H                                = 1                    // byteswap.h:24:1:
   932  	D_BITS_ENDIANNESS_H                              = 1                    // endianness.h:2:1:
   933  	D_BITS_ENDIAN_H                                  = 1                    // endian.h:20:1:
   934  	D_BITS_FLOATN_COMMON_H                           = 0                    // floatn-common.h:21:1:
   935  	D_BITS_FLOATN_H                                  = 0                    // floatn.h:20:1:
   936  	D_BITS_POSIX1_LIM_H                              = 1                    // posix1_lim.h:25:1:
   937  	D_BITS_POSIX2_LIM_H                              = 1                    // posix2_lim.h:23:1:
   938  	D_BITS_PTHREADTYPES_ARCH_H                       = 1                    // pthreadtypes-arch.h:19:1:
   939  	D_BITS_PTHREADTYPES_COMMON_H                     = 1                    // pthreadtypes.h:20:1:
   940  	D_BITS_STDINT_INTN_H                             = 1                    // stdint-intn.h:20:1:
   941  	D_BITS_STDINT_UINTN_H                            = 1                    // stdint-uintn.h:20:1:
   942  	D_BITS_STDIO_LIM_H                               = 1                    // stdio_lim.h:19:1:
   943  	D_BITS_TIME64_H                                  = 1                    // time64.h:24:1:
   944  	D_BITS_TYPESIZES_H                               = 1                    // typesizes.h:24:1:
   945  	D_BITS_TYPES_H                                   = 1                    // types.h:24:1:
   946  	D_BITS_TYPES_LOCALE_T_H                          = 1                    // locale_t.h:20:1:
   947  	D_BITS_TYPES___LOCALE_T_H                        = 1                    // __locale_t.h:20:1:
   948  	D_BITS_UINTN_IDENTITY_H                          = 1                    // uintn-identity.h:24:1:
   949  	D_BITS_UIO_LIM_H                                 = 1                    // uio_lim.h:20:1:
   950  	D_BITS_WCHAR_H                                   = 1                    // wchar.h:20:1:
   951  	D_BSD_PTRDIFF_T_                                 = 0                    // stddef.h:136:1:
   952  	D_BSD_SIZE_T_                                    = 0                    // stddef.h:189:1:
   953  	D_BSD_SIZE_T_DEFINED_                            = 0                    // stddef.h:192:1:
   954  	D_CTYPE_H                                        = 1                    // ctype.h:23:1:
   955  	D_DARWIN_C_SOURCE                                = 1                    // config.h:347:1:
   956  	D_DEFAULT_SOURCE                                 = 1                    // features.h:236:1:
   957  	D_DYNAMIC_STACK_SIZE_SOURCE                      = 1                    // features.h:224:1:
   958  	D_ENDIAN_H                                       = 1                    // endian.h:19:1:
   959  	D_FEATURES_H                                     = 1                    // features.h:19:1:
   960  	D_FILE_OFFSET_BITS                               = 64                   // <builtin>:25:1:
   961  	D_GCC_LIMITS_H_                                  = 0                    // limits.h:30:1:
   962  	D_GCC_MAX_ALIGN_T                                = 0                    // stddef.h:411:1:
   963  	D_GCC_PTRDIFF_T                                  = 0                    // stddef.h:138:1:
   964  	D_GCC_SIZE_T                                     = 0                    // stddef.h:195:1:
   965  	D_GCC_WCHAR_T                                    = 0                    // stddef.h:273:1:
   966  	D_GCC_WRAP_STDINT_H                              = 0                    // stdint.h:13:1:
   967  	D_GNU_SOURCE                                     = 1                    // config.h:355:1:
   968  	D_HPUX_ALT_XOPEN_SOCKET_API                      = 1                    // config.h:360:1:
   969  	D_INTTYPES_H                                     = 1                    // inttypes.h:23:1:
   970  	D_IOFBF                                          = 0                    // stdio.h:93:1:
   971  	D_IOLBF                                          = 1                    // stdio.h:94:1:
   972  	D_IONBF                                          = 2                    // stdio.h:95:1:
   973  	D_IO_EOF_SEEN                                    = 0x0010               // struct_FILE.h:111:1:
   974  	D_IO_ERR_SEEN                                    = 0x0020               // struct_FILE.h:114:1:
   975  	D_IO_USER_LOCK                                   = 0x8000               // struct_FILE.h:117:1:
   976  	D_ISOC11_SOURCE                                  = 1                    // features.h:206:1:
   977  	D_ISOC2X_SOURCE                                  = 1                    // features.h:208:1:
   978  	D_ISOC95_SOURCE                                  = 1                    // features.h:202:1:
   979  	D_ISOC99_SOURCE                                  = 1                    // features.h:204:1:
   980  	D_LARGEFILE64_SOURCE                             = 1                    // features.h:218:1:
   981  	D_LARGEFILE_SOURCE                               = 1                    // features.h:360:1:
   982  	D_LIBC_LIMITS_H_                                 = 1                    // limits.h:23:1:
   983  	D_LIMITS_H___                                    = 0                    // limits.h:60:1:
   984  	D_LINUX_LIMITS_H                                 = 0                    // limits.h:3:1:
   985  	D_LP64                                           = 1                    // <predefined>:297:1:
   986  	D_NETBSD_SOURCE                                  = 1                    // config.h:371:1:
   987  	D_OPENBSD_SOURCE                                 = 1                    // config.h:376:1:
   988  	D_POSIX2_BC_BASE_MAX                             = 99                   // posix2_lim.h:27:1:
   989  	D_POSIX2_BC_DIM_MAX                              = 2048                 // posix2_lim.h:30:1:
   990  	D_POSIX2_BC_SCALE_MAX                            = 99                   // posix2_lim.h:33:1:
   991  	D_POSIX2_BC_STRING_MAX                           = 1000                 // posix2_lim.h:36:1:
   992  	D_POSIX2_CHARCLASS_NAME_MAX                      = 14                   // posix2_lim.h:55:1:
   993  	D_POSIX2_COLL_WEIGHTS_MAX                        = 2                    // posix2_lim.h:40:1:
   994  	D_POSIX2_EXPR_NEST_MAX                           = 32                   // posix2_lim.h:44:1:
   995  	D_POSIX2_LINE_MAX                                = 2048                 // posix2_lim.h:47:1:
   996  	D_POSIX2_RE_DUP_MAX                              = 255                  // posix2_lim.h:51:1:
   997  	D_POSIX_AIO_LISTIO_MAX                           = 2                    // posix1_lim.h:32:1:
   998  	D_POSIX_AIO_MAX                                  = 1                    // posix1_lim.h:35:1:
   999  	D_POSIX_ARG_MAX                                  = 4096                 // posix1_lim.h:38:1:
  1000  	D_POSIX_CHILD_MAX                                = 25                   // posix1_lim.h:42:1:
  1001  	D_POSIX_CLOCKRES_MIN                             = 20000000             // posix1_lim.h:157:1:
  1002  	D_POSIX_C_SOURCE                                 = 200809               // features.h:290:1:
  1003  	D_POSIX_DELAYTIMER_MAX                           = 32                   // posix1_lim.h:48:1:
  1004  	D_POSIX_FD_SETSIZE                               = 20                   // posix1_lim.h:93:1:
  1005  	D_POSIX_HIWAT                                    = 512                  // posix1_lim.h:150:1:
  1006  	D_POSIX_HOST_NAME_MAX                            = 255                  // posix1_lim.h:52:1:
  1007  	D_POSIX_LINK_MAX                                 = 8                    // posix1_lim.h:55:1:
  1008  	D_POSIX_LOGIN_NAME_MAX                           = 9                    // posix1_lim.h:58:1:
  1009  	D_POSIX_MAX_CANON                                = 255                  // posix1_lim.h:61:1:
  1010  	D_POSIX_MAX_INPUT                                = 255                  // posix1_lim.h:65:1:
  1011  	D_POSIX_MQ_OPEN_MAX                              = 8                    // posix1_lim.h:68:1:
  1012  	D_POSIX_MQ_PRIO_MAX                              = 32                   // posix1_lim.h:71:1:
  1013  	D_POSIX_NAME_MAX                                 = 14                   // posix1_lim.h:74:1:
  1014  	D_POSIX_NGROUPS_MAX                              = 8                    // posix1_lim.h:78:1:
  1015  	D_POSIX_OPEN_MAX                                 = 20                   // posix1_lim.h:85:1:
  1016  	D_POSIX_PATH_MAX                                 = 256                  // posix1_lim.h:97:1:
  1017  	D_POSIX_PIPE_BUF                                 = 512                  // posix1_lim.h:100:1:
  1018  	D_POSIX_PTHREAD_SEMANTICS                        = 1                    // config.h:388:1:
  1019  	D_POSIX_QLIMIT                                   = 1                    // posix1_lim.h:146:1:
  1020  	D_POSIX_RE_DUP_MAX                               = 255                  // posix1_lim.h:104:1:
  1021  	D_POSIX_RTSIG_MAX                                = 8                    // posix1_lim.h:107:1:
  1022  	D_POSIX_SEM_NSEMS_MAX                            = 256                  // posix1_lim.h:110:1:
  1023  	D_POSIX_SEM_VALUE_MAX                            = 32767                // posix1_lim.h:113:1:
  1024  	D_POSIX_SIGQUEUE_MAX                             = 32                   // posix1_lim.h:116:1:
  1025  	D_POSIX_SOURCE                                   = 1                    // features.h:288:1:
  1026  	D_POSIX_SSIZE_MAX                                = 32767                // posix1_lim.h:119:1:
  1027  	D_POSIX_STREAM_MAX                               = 8                    // posix1_lim.h:122:1:
  1028  	D_POSIX_SYMLINK_MAX                              = 255                  // posix1_lim.h:125:1:
  1029  	D_POSIX_SYMLOOP_MAX                              = 8                    // posix1_lim.h:129:1:
  1030  	D_POSIX_THREAD_DESTRUCTOR_ITERATIONS             = 4                    // local_lim.h:67:1:
  1031  	D_POSIX_THREAD_KEYS_MAX                          = 128                  // local_lim.h:62:1:
  1032  	D_POSIX_THREAD_THREADS_MAX                       = 64                   // local_lim.h:72:1:
  1033  	D_POSIX_TIMER_MAX                                = 32                   // posix1_lim.h:132:1:
  1034  	D_POSIX_TTY_NAME_MAX                             = 9                    // posix1_lim.h:135:1:
  1035  	D_POSIX_TZNAME_MAX                               = 6                    // posix1_lim.h:139:1:
  1036  	D_POSIX_UIO_MAXIOV                               = 16                   // posix1_lim.h:153:1:
  1037  	D_PRINTF_NAN_LEN_MAX                             = 4                    // stdio.h:138:1:
  1038  	D_PTRDIFF_T                                      = 0                    // stddef.h:131:1:
  1039  	D_PTRDIFF_T_                                     = 0                    // stddef.h:135:1:
  1040  	D_PTRDIFF_T_DECLARED                             = 0                    // stddef.h:139:1:
  1041  	D_RWLOCK_INTERNAL_H                              = 0                    // struct_rwlock.h:21:1:
  1042  	D_SIZET_                                         = 0                    // stddef.h:196:1:
  1043  	D_SIZE_T                                         = 0                    // stddef.h:183:1:
  1044  	D_SIZE_T_                                        = 0                    // stddef.h:188:1:
  1045  	D_SIZE_T_DECLARED                                = 0                    // stddef.h:193:1:
  1046  	D_SIZE_T_DEFINED                                 = 0                    // stddef.h:191:1:
  1047  	D_SIZE_T_DEFINED_                                = 0                    // stddef.h:190:1:
  1048  	D_STDC_PREDEF_H                                  = 1                    // <predefined>:168:1:
  1049  	D_STDDEF_H                                       = 0                    // stddef.h:39:1:
  1050  	D_STDDEF_H_                                      = 0                    // stddef.h:40:1:
  1051  	D_STDINT_H                                       = 1                    // stdint.h:23:1:
  1052  	D_STDIO_H                                        = 1                    // stdio.h:24:1:
  1053  	D_STDLIB_H                                       = 1                    // stdlib.h:36:1:
  1054  	D_STRINGS_H                                      = 1                    // strings.h:19:1:
  1055  	D_STRING_H                                       = 1                    // string.h:23:1:
  1056  	D_STRUCT_TIMESPEC                                = 1                    // struct_timespec.h:3:1:
  1057  	D_SYS_CDEFS_H                                    = 1                    // cdefs.h:20:1:
  1058  	D_SYS_SELECT_H                                   = 1                    // select.h:22:1:
  1059  	D_SYS_SIZE_T_H                                   = 0                    // stddef.h:184:1:
  1060  	D_SYS_TYPES_H                                    = 1                    // types.h:23:1:
  1061  	D_TANDEM_SOURCE                                  = 1                    // config.h:420:1:
  1062  	D_THREAD_MUTEX_INTERNAL_H                        = 1                    // struct_mutex.h:20:1:
  1063  	D_THREAD_SHARED_TYPES_H                          = 1                    // thread-shared-types.h:20:1:
  1064  	D_T_PTRDIFF                                      = 0                    // stddef.h:133:1:
  1065  	D_T_PTRDIFF_                                     = 0                    // stddef.h:132:1:
  1066  	D_T_SIZE                                         = 0                    // stddef.h:186:1:
  1067  	D_T_SIZE_                                        = 0                    // stddef.h:185:1:
  1068  	D_T_WCHAR                                        = 0                    // stddef.h:264:1:
  1069  	D_T_WCHAR_                                       = 0                    // stddef.h:263:1:
  1070  	D_VA_LIST_DEFINED                                = 0                    // stdio.h:53:1:
  1071  	D_WCHAR_T                                        = 0                    // stddef.h:262:1:
  1072  	D_WCHAR_T_                                       = 0                    // stddef.h:266:1:
  1073  	D_WCHAR_T_DECLARED                               = 0                    // stddef.h:274:1:
  1074  	D_WCHAR_T_DEFINED                                = 0                    // stddef.h:269:1:
  1075  	D_WCHAR_T_DEFINED_                               = 0                    // stddef.h:268:1:
  1076  	D_WCHAR_T_H                                      = 0                    // stddef.h:270:1:
  1077  	D_XOPEN_IOV_MAX                                  = 16                   // xopen_lim.h:62:1:
  1078  	D_XOPEN_LIM_H                                    = 1                    // xopen_lim.h:30:1:
  1079  	D_XOPEN_SOURCE                                   = 700                  // features.h:214:1:
  1080  	D_XOPEN_SOURCE_EXTENDED                          = 1                    // features.h:216:1:
  1081  	Dcbit_cntrl                                      = 288                  // pcre2_internal.h:573:1:
  1082  	Dcbit_digit                                      = 64                   // pcre2_internal.h:566:1:
  1083  	Dcbit_graph                                      = 192                  // pcre2_internal.h:570:1:
  1084  	Dcbit_length                                     = 320                  // pcre2_internal.h:574:1:
  1085  	Dcbit_lower                                      = 128                  // pcre2_internal.h:568:1:
  1086  	Dcbit_print                                      = 224                  // pcre2_internal.h:571:1:
  1087  	Dcbit_punct                                      = 256                  // pcre2_internal.h:572:1:
  1088  	Dcbit_space                                      = 0                    // pcre2_internal.h:564:1:
  1089  	Dcbit_upper                                      = 96                   // pcre2_internal.h:567:1:
  1090  	Dcbit_word                                       = 160                  // pcre2_internal.h:569:1:
  1091  	Dcbit_xdigit                                     = 32                   // pcre2_internal.h:565:1:
  1092  	Dcbits_offset                                    = 512                  // pcre2_internal.h:591:1:
  1093  	Dctype_digit                                     = 0x08                 // pcre2_internal.h:583:1:
  1094  	Dctype_lcletter                                  = 0x04                 // pcre2_internal.h:582:1:
  1095  	Dctype_letter                                    = 0x02                 // pcre2_internal.h:581:1:
  1096  	Dctype_space                                     = 0x01                 // pcre2_internal.h:580:1:
  1097  	Dctype_word                                      = 0x10                 // pcre2_internal.h:584:1:
  1098  	Dctypes_offset                                   = 832                  // pcre2_internal.h:592:1:
  1099  	Dfcc_offset                                      = 256                  // pcre2_internal.h:590:1:
  1100  	Dlcc_offset                                      = 0                    // pcre2_internal.h:589:1:
  1101  	Dlinux                                           = 1                    // <predefined>:243:1:
  1102  	Ducd_boolprop_sets_item_size                     = 2                    // pcre2_ucp.h:164:1:
  1103  	Ducd_script_sets_item_size                       = 3                    // pcre2_ucp.h:390:1:
  1104  	Dunix                                            = 1                    // <predefined>:184:1:
  1105  	DCOMPILE_WORK_SIZE                               = 6000                 // pcre2_compile.c:166:1:
  1106  	DESCAPES_FIRST                                   = 48                   // pcre2_compile.c:507:1:
  1107  	DESCAPES_LAST                                    = 122                  // pcre2_compile.c:508:1:
  1108  	DGI_FIXED_LENGTH_MASK                            = 0x0000ffff           // pcre2_compile.c:402:1:
  1109  	DGI_NOT_FIXED_LENGTH                             = 0x40000000           // pcre2_compile.c:401:1:
  1110  	DGI_SET_FIXED_LENGTH                             = 0x80000000           // pcre2_compile.c:400:1:
  1111  	DGROUPINFO_DEFAULT_SIZE                          = 256                  // pcre2_compile.c:175:1:
  1112  	DMAX_GROUP_NUMBER                                = 65535                // pcre2_compile.c:147:1:
  1113  	DMAX_REPEAT_COUNT                                = 65535                // pcre2_compile.c:148:1:
  1114  	DMETA_ACCEPT                                     = 0x802a0000           // pcre2_compile.c:266:1:
  1115  	DMETA_ALT                                        = 0x80010000           // pcre2_compile.c:213:1:
  1116  	DMETA_ASTERISK                                   = 0x80340000           // pcre2_compile.c:279:1:
  1117  	DMETA_ASTERISK_PLUS                              = 0x80350000           // pcre2_compile.c:280:1:
  1118  	DMETA_ASTERISK_QUERY                             = 0x80360000           // pcre2_compile.c:281:1:
  1119  	DMETA_ATOMIC                                     = 0x80020000           // pcre2_compile.c:214:1:
  1120  	DMETA_ATOMIC_SCRIPT_RUN                          = 0x8fff0000           // pcre2_compile.c:300:1:
  1121  	DMETA_BACKREF                                    = 0x80030000           // pcre2_compile.c:215:1:
  1122  	DMETA_BACKREF_BYNAME                             = 0x80040000           // pcre2_compile.c:216:1:
  1123  	DMETA_BIGVALUE                                   = 0x80050000           // pcre2_compile.c:217:1:
  1124  	DMETA_CALLOUT_NUMBER                             = 0x80060000           // pcre2_compile.c:218:1:
  1125  	DMETA_CALLOUT_STRING                             = 0x80070000           // pcre2_compile.c:219:1:
  1126  	DMETA_CAPTURE                                    = 0x80080000           // pcre2_compile.c:220:1:
  1127  	DMETA_CIRCUMFLEX                                 = 0x80090000           // pcre2_compile.c:221:1:
  1128  	DMETA_CLASS                                      = 0x800a0000           // pcre2_compile.c:222:1:
  1129  	DMETA_CLASS_EMPTY                                = 0x800b0000           // pcre2_compile.c:223:1:
  1130  	DMETA_CLASS_EMPTY_NOT                            = 0x800c0000           // pcre2_compile.c:224:1:
  1131  	DMETA_CLASS_END                                  = 0x800d0000           // pcre2_compile.c:225:1:
  1132  	DMETA_CLASS_NOT                                  = 0x800e0000           // pcre2_compile.c:226:1:
  1133  	DMETA_COMMIT                                     = 0x802c0000           // pcre2_compile.c:268:1:
  1134  	DMETA_COMMIT_ARG                                 = 0x802d0000           // pcre2_compile.c:269:1:
  1135  	DMETA_COND_ASSERT                                = 0x800f0000           // pcre2_compile.c:227:1:
  1136  	DMETA_COND_DEFINE                                = 0x80100000           // pcre2_compile.c:228:1:
  1137  	DMETA_COND_NAME                                  = 0x80110000           // pcre2_compile.c:229:1:
  1138  	DMETA_COND_NUMBER                                = 0x80120000           // pcre2_compile.c:230:1:
  1139  	DMETA_COND_RNAME                                 = 0x80130000           // pcre2_compile.c:231:1:
  1140  	DMETA_COND_RNUMBER                               = 0x80140000           // pcre2_compile.c:232:1:
  1141  	DMETA_COND_VERSION                               = 0x80150000           // pcre2_compile.c:233:1:
  1142  	DMETA_DOLLAR                                     = 0x80160000           // pcre2_compile.c:234:1:
  1143  	DMETA_DOT                                        = 0x80170000           // pcre2_compile.c:235:1:
  1144  	DMETA_END                                        = 0x80000000           // pcre2_compile.c:211:1:
  1145  	DMETA_ESCAPE                                     = 0x80180000           // pcre2_compile.c:236:1:
  1146  	DMETA_FAIL                                       = 0x802b0000           // pcre2_compile.c:267:1:
  1147  	DMETA_FIRST_QUANTIFIER                           = 2150891520           // pcre2_compile.c:292:1:
  1148  	DMETA_KET                                        = 0x80190000           // pcre2_compile.c:237:1:
  1149  	DMETA_LAST_QUANTIFIER                            = 2151612416           // pcre2_compile.c:293:1:
  1150  	DMETA_LOOKAHEAD                                  = 0x80230000           // pcre2_compile.c:251:1:
  1151  	DMETA_LOOKAHEADNOT                               = 0x80240000           // pcre2_compile.c:252:1:
  1152  	DMETA_LOOKAHEAD_NA                               = 0x80270000           // pcre2_compile.c:258:1:
  1153  	DMETA_LOOKBEHIND                                 = 0x80250000           // pcre2_compile.c:253:1:
  1154  	DMETA_LOOKBEHINDNOT                              = 0x80260000           // pcre2_compile.c:254:1:
  1155  	DMETA_LOOKBEHIND_NA                              = 0x80280000           // pcre2_compile.c:259:1:
  1156  	DMETA_MARK                                       = 0x80290000           // pcre2_compile.c:265:1:
  1157  	DMETA_MINMAX                                     = 0x803d0000           // pcre2_compile.c:288:1:
  1158  	DMETA_MINMAX_PLUS                                = 0x803e0000           // pcre2_compile.c:289:1:
  1159  	DMETA_MINMAX_QUERY                               = 0x803f0000           // pcre2_compile.c:290:1:
  1160  	DMETA_NOCAPTURE                                  = 0x801a0000           // pcre2_compile.c:238:1:
  1161  	DMETA_OPTIONS                                    = 0x801b0000           // pcre2_compile.c:239:1:
  1162  	DMETA_PLUS                                       = 0x80370000           // pcre2_compile.c:282:1:
  1163  	DMETA_PLUS_PLUS                                  = 0x80380000           // pcre2_compile.c:283:1:
  1164  	DMETA_PLUS_QUERY                                 = 0x80390000           // pcre2_compile.c:284:1:
  1165  	DMETA_POSIX                                      = 0x801c0000           // pcre2_compile.c:240:1:
  1166  	DMETA_POSIX_NEG                                  = 0x801d0000           // pcre2_compile.c:241:1:
  1167  	DMETA_PRUNE                                      = 0x802e0000           // pcre2_compile.c:270:1:
  1168  	DMETA_PRUNE_ARG                                  = 0x802f0000           // pcre2_compile.c:271:1:
  1169  	DMETA_QUERY                                      = 0x803a0000           // pcre2_compile.c:285:1:
  1170  	DMETA_QUERY_PLUS                                 = 0x803b0000           // pcre2_compile.c:286:1:
  1171  	DMETA_QUERY_QUERY                                = 0x803c0000           // pcre2_compile.c:287:1:
  1172  	DMETA_RANGE_ESCAPED                              = 0x801e0000           // pcre2_compile.c:242:1:
  1173  	DMETA_RANGE_LITERAL                              = 0x801f0000           // pcre2_compile.c:243:1:
  1174  	DMETA_RECURSE                                    = 0x80200000           // pcre2_compile.c:244:1:
  1175  	DMETA_RECURSE_BYNAME                             = 0x80210000           // pcre2_compile.c:245:1:
  1176  	DMETA_SCRIPT_RUN                                 = 0x80220000           // pcre2_compile.c:246:1:
  1177  	DMETA_SKIP                                       = 0x80300000           // pcre2_compile.c:272:1:
  1178  	DMETA_SKIP_ARG                                   = 0x80310000           // pcre2_compile.c:273:1:
  1179  	DMETA_THEN                                       = 0x80320000           // pcre2_compile.c:274:1:
  1180  	DMETA_THEN_ARG                                   = 0x80330000           // pcre2_compile.c:275:1:
  1181  	DNAMED_GROUP_LIST_SIZE                           = 20                   // pcre2_compile.c:187:1:
  1182  	DNSF_ATOMICSR                                    = 0x0004               // pcre2_compile.c:2565:1:
  1183  	DNSF_CONDASSERT                                  = 0x0002               // pcre2_compile.c:2564:1:
  1184  	DNSF_RESET                                       = 0x0001               // pcre2_compile.c:2563:1:
  1185  	DOFLOW_MAX                                       = 2147483627           // pcre2_compile.c:200:1:
  1186  	DPARSED_PATTERN_DEFAULT_SIZE                     = 1024                 // pcre2_compile.c:193:1:
  1187  	DPARSE_TRACKED_OPTIONS                           = 17048808             // pcre2_compile.c:2572:1:
  1188  	DPC_GRAPH                                        = 8                    // pcre2_compile.c:709:1:
  1189  	DPC_PRINT                                        = 9                    // pcre2_compile.c:710:1:
  1190  	DPC_PUNCT                                        = 10                   // pcre2_compile.c:711:1:
  1191  	DPUBLIC_COMPILE_EXTRA_OPTIONS                    = 127                  // pcre2_compile.c:784:1:
  1192  	DPUBLIC_COMPILE_OPTIONS                          = 3892314111           // pcre2_compile.c:772:1:
  1193  	DPUBLIC_LITERAL_COMPILE_EXTRA_OPTIONS            = 12                   // pcre2_compile.c:781:1:
  1194  	DPUBLIC_LITERAL_COMPILE_OPTIONS                  = 3867738380           // pcre2_compile.c:767:1:
  1195  	DREPEAT_UNLIMITED                                = 65536                // pcre2_compile.c:149:1:
  1196  	DREQ_CASELESS                                    = 0x00000001           // pcre2_compile.c:395:1:
  1197  	DREQ_NONE                                        = 0xfffffffe           // pcre2_compile.c:394:1:
  1198  	DREQ_UNSET                                       = 0xffffffff           // pcre2_compile.c:393:1:
  1199  	DREQ_VARY                                        = 0x00000002           // pcre2_compile.c:396:1:
  1200  	DRSCAN_CACHE_SIZE                                = 8                    // pcre2_compile.c:10359:1:
  1201  	DSIZEOFFSET                                      = 2                    // pcre2_compile.c:108:1:
  1202  	DWORK_SIZE_SAFETY_MARGIN                         = 100                  // pcre2_compile.c:180:1:
  1203  	DALL_OPTIONS                                     = 127                  // pcre2_convert.c:51:1:
  1204  	DDUMMY_BUFFER_SIZE                               = 100                  // pcre2_convert.c:56:1:
  1205  	DTYPE_OPTIONS                                    = 28                   // pcre2_convert.c:48:1:
  1206  	DOP_ANYNL_EXTRA                                  = 340                  // pcre2_dfa_match.c:103:1:
  1207  	DOP_EXTUNI_EXTRA                                 = 320                  // pcre2_dfa_match.c:102:1:
  1208  	DOP_HSPACE_EXTRA                                 = 360                  // pcre2_dfa_match.c:104:1:
  1209  	DOP_PROP_EXTRA                                   = 300                  // pcre2_dfa_match.c:101:1:
  1210  	DOP_VSPACE_EXTRA                                 = 380                  // pcre2_dfa_match.c:105:1:
  1211  	DPUBLIC_DFA_MATCH_OPTIONS                        = 3758113023           // pcre2_dfa_match.c:85:1:
  1212  	DRWS_RSIZE                                       = 1000                 // pcre2_dfa_match.c:318:1:
  1213  	DINCLUDED_FROM_PCRE2_JIT_COMPILE                 = 0                    // pcre2_jit_compile.c:14504:1:
  1214  	DPUBLIC_JIT_COMPILE_OPTIONS                      = 263                  // pcre2_jit_compile.c:14378:1:
  1215  	DGF_CAPTURE                                      = 0x00010000           // pcre2_match.c:106:1:
  1216  	DGF_CONDASSERT                                   = 0x00030000           // pcre2_match.c:108:1:
  1217  	DGF_NOCAPTURE                                    = 0x00020000           // pcre2_match.c:107:1:
  1218  	DGF_RECURSE                                      = 0x00040000           // pcre2_match.c:109:1:
  1219  	DMATCH_ACCEPT                                    = -999                 // pcre2_match.c:88:1:
  1220  	DMATCH_BACKTRACK_MAX                             = -993                 // pcre2_match.c:97:1:
  1221  	DMATCH_BACKTRACK_MIN                             = -997                 // pcre2_match.c:98:1:
  1222  	DMATCH_COMMIT                                    = -997                 // pcre2_match.c:92:1:
  1223  	DMATCH_KETRPOS                                   = -998                 // pcre2_match.c:89:1:
  1224  	DMATCH_MATCH                                     = 1                    // pcre2_match.c:82:1:
  1225  	DMATCH_NOMATCH                                   = 0                    // pcre2_match.c:83:1:
  1226  	DMATCH_PRUNE                                     = -996                 // pcre2_match.c:93:1:
  1227  	DMATCH_SKIP                                      = -995                 // pcre2_match.c:94:1:
  1228  	DMATCH_SKIP_ARG                                  = -994                 // pcre2_match.c:95:1:
  1229  	DMATCH_THEN                                      = -993                 // pcre2_match.c:96:1:
  1230  	DPUBLIC_JIT_MATCH_OPTIONS                        = 1073758271           // pcre2_match.c:74:1:
  1231  	DPUBLIC_MATCH_OPTIONS                            = 3758121023           // pcre2_match.c:69:1:
  1232  	DRECURSE_UNSET                                   = 0xffffffff           // pcre2_match.c:65:1:
  1233  	DFOUND_BOPOMOFO                                  = 1                    // pcre2_script_run.c:199:1:
  1234  	DFOUND_HANGUL                                    = 8                    // pcre2_script_run.c:202:1:
  1235  	DFOUND_HIRAGANA                                  = 2                    // pcre2_script_run.c:200:1:
  1236  	DFOUND_KATAKANA                                  = 4                    // pcre2_script_run.c:201:1:
  1237  	DSERIALIZED_DATA_MAGIC                           = 0x50523253           // pcre2_serialize.c:54:1:
  1238  	DSERIALIZED_DATA_VERSION                         = 2621450              // pcre2_serialize.c:59:1:
  1239  	DMAX_CACHE_BACKREF                               = 128                  // pcre2_study.c:53:1:
  1240  	DPTR_STACK_SIZE                                  = 20                   // pcre2_substitute.c:48:1:
  1241  	DSUBSTITUTE_OPTIONS                              = 237312               // pcre2_substitute.c:50:1:
  1242  )
  1243  
  1244  // Seconds since the Epoch, visible to user code when time_t is too
  1245  //    narrow only for consistency with the old way of widening too-narrow
  1246  //    types.  User code should never use __time64_t.
  1247  
  1248  // These are all the characteristics of characters.
  1249  //    If there get to be more than 16 distinct characteristics,
  1250  //    many things must be changed that use `unsigned short int's.
  1251  //
  1252  //    The characteristics are stored always in network byte order (big
  1253  //    endian).  We define the bit value interpretations here dependent on the
  1254  //    machine's byte order.
  1255  
  1256  // Endian macros for string.h functions
  1257  //    Copyright (C) 1992-2022 Free Software Foundation, Inc.
  1258  //    This file is part of the GNU C Library.
  1259  //
  1260  //    The GNU C Library is free software; you can redistribute it and/or
  1261  //    modify it under the terms of the GNU Lesser General Public
  1262  //    License as published by the Free Software Foundation; either
  1263  //    version 2.1 of the License, or (at your option) any later version.
  1264  //
  1265  //    The GNU C Library is distributed in the hope that it will be useful,
  1266  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  1267  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  1268  //    Lesser General Public License for more details.
  1269  //
  1270  //    You should have received a copy of the GNU Lesser General Public
  1271  //    License along with the GNU C Library; if not, see
  1272  //    <http://www.gnu.org/licenses/>.
  1273  
  1274  // Definitions for byte order, according to significance of bytes,
  1275  //    from low addresses to high addresses.  The value is what you get by
  1276  //    putting '4' in the most significant byte, '3' in the second most
  1277  //    significant byte, '2' in the second least significant byte, and '1'
  1278  //    in the least significant byte, and then writing down one digit for
  1279  //    each byte, starting with the byte at the lowest address at the left,
  1280  //    and proceeding to the byte with the highest address at the right.
  1281  
  1282  // This file defines `__BYTE_ORDER' for the particular machine.
  1283  
  1284  // i386/x86_64 are little-endian.
  1285  
  1286  // Some machines may need to use a different endianness for floating point
  1287  //    values.
  1288  
  1289  const ( /* ctype.h:46:1: */
  1290  	_ISupper  = 256   // UPPERCASE.
  1291  	_ISlower  = 512   // lowercase.
  1292  	_ISalpha  = 1024  // Alphabetic.
  1293  	_ISdigit  = 2048  // Numeric.
  1294  	_ISxdigit = 4096  // Hexadecimal numeric.
  1295  	_ISspace  = 8192  // Whitespace.
  1296  	_ISprint  = 16384 // Printing.
  1297  	_ISgraph  = 32768 // Graphical.
  1298  	_ISblank  = 1     // Blank (usually SPC and TAB).
  1299  	_IScntrl  = 2     // Control character.
  1300  	_ISpunct  = 4     // Punctuation.
  1301  	_ISalnum  = 8
  1302  )
  1303  
  1304  // Options that are changeable within the pattern must be tracked during
  1305  // parsing. Some (e.g. PCRE2_EXTENDED) are implemented entirely during parsing,
  1306  // but all must be tracked so that META_OPTIONS items set the correct values for
  1307  // the main compiling phase.
  1308  
  1309  // States used for analyzing ranges in character classes. The two OK values
  1310  // must be last.
  1311  
  1312  const ( /* pcre2_compile.c:2579:1: */
  1313  	RANGE_NO         = 0
  1314  	RANGE_OK_ESCAPED = 2
  1315  	RANGE_OK_LITERAL = 3
  1316  )
  1317  
  1318  // Types for skipping parts of a parsed pattern.
  1319  
  1320  const ( /* pcre2_compile.c:375:1: */
  1321  	PSKIP_ALT   = 0
  1322  	PSKIP_CLASS = 1
  1323  	PSKIP_KET   = 2
  1324  )
  1325  
  1326  // Masks for checking option settings. When PCRE2_LITERAL is set, only a subset
  1327  // are allowed.
  1328  
  1329  // Compile time error code numbers. They are given names so that they can more
  1330  // easily be tracked. When a new number is added, the tables called eint1 and
  1331  // eint2 in pcre2posix.c may need to be updated, and a new error text must be
  1332  // added to compile_error_texts in pcre2_error.c. Also, the error codes in
  1333  // pcre2.h.in must be updated - their values are exactly 100 greater than these
  1334  // values.
  1335  
  1336  const ( /* pcre2_compile.c:797:1: */
  1337  	ERR0  = 100
  1338  	ERR1  = 101
  1339  	ERR2  = 102
  1340  	ERR3  = 103
  1341  	ERR4  = 104
  1342  	ERR5  = 105
  1343  	ERR6  = 106
  1344  	ERR7  = 107
  1345  	ERR8  = 108
  1346  	ERR9  = 109
  1347  	ERR10 = 110
  1348  	ERR11 = 111
  1349  	ERR12 = 112
  1350  	ERR13 = 113
  1351  	ERR14 = 114
  1352  	ERR15 = 115
  1353  	ERR16 = 116
  1354  	ERR17 = 117
  1355  	ERR18 = 118
  1356  	ERR19 = 119
  1357  	ERR20 = 120
  1358  	ERR21 = 121
  1359  	ERR22 = 122
  1360  	ERR23 = 123
  1361  	ERR24 = 124
  1362  	ERR25 = 125
  1363  	ERR26 = 126
  1364  	ERR27 = 127
  1365  	ERR28 = 128
  1366  	ERR29 = 129
  1367  	ERR30 = 130
  1368  	ERR31 = 131
  1369  	ERR32 = 132
  1370  	ERR33 = 133
  1371  	ERR34 = 134
  1372  	ERR35 = 135
  1373  	ERR36 = 136
  1374  	ERR37 = 137
  1375  	ERR38 = 138
  1376  	ERR39 = 139
  1377  	ERR40 = 140
  1378  	ERR41 = 141
  1379  	ERR42 = 142
  1380  	ERR43 = 143
  1381  	ERR44 = 144
  1382  	ERR45 = 145
  1383  	ERR46 = 146
  1384  	ERR47 = 147
  1385  	ERR48 = 148
  1386  	ERR49 = 149
  1387  	ERR50 = 150
  1388  	ERR51 = 151
  1389  	ERR52 = 152
  1390  	ERR53 = 153
  1391  	ERR54 = 154
  1392  	ERR55 = 155
  1393  	ERR56 = 156
  1394  	ERR57 = 157
  1395  	ERR58 = 158
  1396  	ERR59 = 159
  1397  	ERR60 = 160
  1398  	ERR61 = 161
  1399  	ERR62 = 162
  1400  	ERR63 = 163
  1401  	ERR64 = 164
  1402  	ERR65 = 165
  1403  	ERR66 = 166
  1404  	ERR67 = 167
  1405  	ERR68 = 168
  1406  	ERR69 = 169
  1407  	ERR70 = 170
  1408  	ERR71 = 171
  1409  	ERR72 = 172
  1410  	ERR73 = 173
  1411  	ERR74 = 174
  1412  	ERR75 = 175
  1413  	ERR76 = 176
  1414  	ERR77 = 177
  1415  	ERR78 = 178
  1416  	ERR79 = 179
  1417  	ERR80 = 180
  1418  	ERR81 = 181
  1419  	ERR82 = 182
  1420  	ERR83 = 183
  1421  	ERR84 = 184
  1422  	ERR85 = 185
  1423  	ERR86 = 186
  1424  	ERR87 = 187
  1425  	ERR88 = 188
  1426  	ERR89 = 189
  1427  	ERR90 = 190
  1428  	ERR91 = 191
  1429  	ERR92 = 192
  1430  	ERR93 = 193
  1431  	ERR94 = 194
  1432  	ERR95 = 195
  1433  	ERR96 = 196
  1434  	ERR97 = 197
  1435  	ERR98 = 198
  1436  	ERR99 = 199
  1437  )
  1438  
  1439  // This is a table of start-of-pattern options such as (*UTF) and settings such
  1440  // as (*LIMIT_MATCH=nnnn) and (*CRLF). For completeness and backward
  1441  // compatibility, (*UTFn) is supported in the relevant libraries, but (*UTF) is
  1442  // generic and always supported.
  1443  
  1444  const ( /* pcre2_compile.c:814:1: */
  1445  	PSO_OPT  = 0 // Value is an option bit
  1446  	PSO_FLG  = 1 // Value is a flag bit
  1447  	PSO_NL   = 2 // Value is a newline type
  1448  	PSO_BSR  = 3 // Value is a \R type
  1449  	PSO_LIMH = 4 // Read integer value for heap limit
  1450  	PSO_LIMM = 5 // Read integer value for match limit
  1451  	PSO_LIMD = 6
  1452  )
  1453  
  1454  // This function is needed only when memmove() is not available.
  1455  
  1456  // End of pcre2_internal.h
  1457  
  1458  // Generated pattern fragments
  1459  
  1460  // States for range and POSIX processing
  1461  
  1462  const ( /* pcre2_convert.c:70:1: */
  1463  	RANGE_NOT_STARTED = 0
  1464  	RANGE_STARTING    = 1
  1465  )
  1466  const ( /* pcre2_convert.c:71:1: */
  1467  	POSIX_START_REGEX       = 0
  1468  	POSIX_ANCHORED          = 1
  1469  	POSIX_NOT_BRACKET       = 2
  1470  	POSIX_CLASS_NOT_STARTED = 3
  1471  	POSIX_CLASS_STARTING    = 4
  1472  	POSIX_CLASS_STARTED     = 5
  1473  ) // pcre2_jit_match()
  1474  
  1475  // Values for the flags field in a match data block.
  1476  
  1477  // Magic number to provide a small check against being handed junk.
  1478  
  1479  // The maximum remaining length of subject we are prepared to search for a
  1480  // req_unit match from an anchored pattern. In 8-bit mode, memchr() is used and is
  1481  // much faster than the search loop that has to be used in 16-bit and 32-bit
  1482  // modes.
  1483  
  1484  // Offsets for the bitmap tables in the cbits set of tables. Each table
  1485  // contains a set of bits for a class map. Some classes are built by combining
  1486  // these tables.
  1487  
  1488  // Bit definitions for entries in the ctypes table. Do not change these values
  1489  // without checking pcre2_jit_compile.c, which has an assertion to ensure that
  1490  // ctype_word has the value 16.
  1491  
  1492  // Offsets of the various tables from the base tables pointer, and
  1493  // total length of the tables.
  1494  
  1495  // -------------------- Character and string names ------------------------
  1496  
  1497  // If PCRE2 is to support UTF-8 on EBCDIC platforms, we cannot use normal
  1498  // character constants like '*' because the compiler would emit their EBCDIC code,
  1499  // which is different from their ASCII/UTF-8 code. Instead we define macros for
  1500  // the characters so that they always use the ASCII/UTF-8 code when UTF-8 support
  1501  // is enabled. When UTF-8 support is not enabled, the definitions use character
  1502  // literals. Both character and string versions of each character are needed, and
  1503  // there are some longer strings as well.
  1504  //
  1505  // This means that, on EBCDIC platforms, the PCRE2 library can handle either
  1506  // EBCDIC, or UTF-8, but not both. To support both in the same compiled library
  1507  // would need different lookups depending on whether PCRE2_UTF was set or not.
  1508  // This would make it impossible to use characters in switch/case statements,
  1509  // which would reduce performance. For a theoretical use (which nobody has asked
  1510  // for) in a minority area (EBCDIC platforms), this is not sensible. Any
  1511  // application that did need both could compile two versions of the library, using
  1512  // macros to give the functions distinct names.
  1513  
  1514  // UTF-8 support is enabled; always use UTF-8 (=ASCII) character codes. This
  1515  // works in both modes non-EBCDIC platforms, and on EBCDIC platforms in UTF-8 mode
  1516  // only.
  1517  
  1518  // -------------------- End of character and string names -------------------
  1519  
  1520  // -------------------- Definitions for compiled patterns -------------------
  1521  
  1522  // Codes for different types of Unicode property. If these definitions are
  1523  // changed, the autopossessifying table in pcre2_auto_possess.c must be updated to
  1524  // match.
  1525  
  1526  // The following special properties are used only in XCLASS items, when POSIX
  1527  // classes are specified and PCRE2_UCP is set - in other words, for Unicode
  1528  // handling of these classes. They are not available via the \p or \P escapes like
  1529  // those in the above list, and so they do not take part in the autopossessifying
  1530  // table.
  1531  
  1532  // This value is used when parsing \p and \P escapes to indicate that neither
  1533  // \p{script:...} nor \p{scx:...} has been encountered.
  1534  
  1535  // Flag bits and data types for the extended class (OP_XCLASS) for classes that
  1536  // contain characters with values greater than 255.
  1537  
  1538  // These are escaped items that aren't just an encoding of a particular data
  1539  // value such as \n. They must have non-zero values, as check_escape() returns 0
  1540  // for a data character. In the escapes[] table in pcre2_compile.c their values
  1541  // are negated in order to distinguish them from data values.
  1542  //
  1543  // They must appear here in the same order as in the opcode definitions below, up
  1544  // to ESC_z. There's a dummy for OP_ALLANY because it corresponds to "." in DOTALL
  1545  // mode rather than an escape sequence. It is also used for [^] in JavaScript
  1546  // compatibility mode, and for \C in non-utf mode. In non-DOTALL mode, "." behaves
  1547  // like \N.
  1548  //
  1549  // Negative numbers are used to encode a backreference (\1, \2, \3, etc.) in
  1550  // check_escape(). There are tests in the code for an escape greater than ESC_b
  1551  // and less than ESC_Z to detect the types that may be repeated. These are the
  1552  // types that consume characters. If any new escapes are put in between that don't
  1553  // consume a character, that code will have to change.
  1554  
  1555  const ( /* pcre2_internal.h:1337:1: */
  1556  	ESC_A   = 1
  1557  	ESC_G   = 2
  1558  	ESC_K   = 3
  1559  	ESC_B   = 4
  1560  	ESC_b   = 5
  1561  	ESC_D   = 6
  1562  	ESC_d   = 7
  1563  	ESC_S   = 8
  1564  	ESC_s   = 9
  1565  	ESC_W   = 10
  1566  	ESC_w   = 11
  1567  	ESC_N   = 12
  1568  	ESC_dum = 13
  1569  	ESC_C   = 14
  1570  	ESC_P   = 15
  1571  	ESC_p   = 16
  1572  	ESC_R   = 17
  1573  	ESC_H   = 18
  1574  	ESC_h   = 19
  1575  	ESC_V   = 20
  1576  	ESC_v   = 21
  1577  	ESC_X   = 22
  1578  	ESC_Z   = 23
  1579  	ESC_z   = 24
  1580  	ESC_E   = 25
  1581  	ESC_Q   = 26
  1582  	ESC_g   = 27
  1583  	ESC_k   = 28
  1584  )
  1585  
  1586  //********************* Opcode definitions *****************
  1587  
  1588  //***** NOTE NOTE NOTE ******
  1589  //
  1590  // Starting from 1 (i.e. after OP_END), the values up to OP_EOD must correspond in
  1591  // order to the list of escapes immediately above. Furthermore, values up to
  1592  // OP_DOLLM must not be changed without adjusting the table called autoposstab in
  1593  // pcre2_auto_possess.c.
  1594  //
  1595  // Whenever this list is updated, the two macro definitions that follow must be
  1596  // updated to match. The possessification table called "opcode_possessify" in
  1597  // pcre2_compile.c must also be updated, and also the tables called "coptable"
  1598  // and "poptable" in pcre2_dfa_match.c.
  1599  //
  1600  // ****** NOTE NOTE NOTE *****
  1601  
  1602  // The values between FIRST_AUTOTAB_OP and LAST_AUTOTAB_RIGHT_OP, inclusive,
  1603  // are used in a table for deciding whether a repeated character type can be
  1604  // auto-possessified.
  1605  
  1606  const ( /* pcre2_internal.h:1368:1: */
  1607  	OP_END = 0 // 0 End of pattern
  1608  
  1609  	// Values corresponding to backslashed metacharacters
  1610  
  1611  	OP_SOD               = 1  // 1 Start of data: \A
  1612  	OP_SOM               = 2  // 2 Start of match (subject + offset): \G
  1613  	OP_SET_SOM           = 3  // 3 Set start of match (\K)
  1614  	OP_NOT_WORD_BOUNDARY = 4  //  4 \B
  1615  	OP_WORD_BOUNDARY     = 5  //  5 \b
  1616  	OP_NOT_DIGIT         = 6  //  6 \D
  1617  	OP_DIGIT             = 7  //  7 \d
  1618  	OP_NOT_WHITESPACE    = 8  //  8 \S
  1619  	OP_WHITESPACE        = 9  //  9 \s
  1620  	OP_NOT_WORDCHAR      = 10 // 10 \W
  1621  	OP_WORDCHAR          = 11 // 11 \w
  1622  
  1623  	OP_ANY        = 12 // 12 Match any character except newline (\N)
  1624  	OP_ALLANY     = 13 // 13 Match any character
  1625  	OP_ANYBYTE    = 14 // 14 Match any byte (\C); different to OP_ANY for UTF-8
  1626  	OP_NOTPROP    = 15 // 15 \P (not Unicode property)
  1627  	OP_PROP       = 16 // 16 \p (Unicode property)
  1628  	OP_ANYNL      = 17 // 17 \R (any newline sequence)
  1629  	OP_NOT_HSPACE = 18 // 18 \H (not horizontal whitespace)
  1630  	OP_HSPACE     = 19 // 19 \h (horizontal whitespace)
  1631  	OP_NOT_VSPACE = 20 // 20 \V (not vertical whitespace)
  1632  	OP_VSPACE     = 21 // 21 \v (vertical whitespace)
  1633  	OP_EXTUNI     = 22 // 22 \X (extended Unicode sequence
  1634  	OP_EODN       = 23 // 23 End of data or \n at end of data (\Z)
  1635  	OP_EOD        = 24 // 24 End of data (\z)
  1636  
  1637  	// Line end assertions
  1638  
  1639  	OP_DOLL  = 25 // 25 End of line - not multiline
  1640  	OP_DOLLM = 26 // 26 End of line - multiline
  1641  	OP_CIRC  = 27 // 27 Start of line - not multiline
  1642  	OP_CIRCM = 28 // 28 Start of line - multiline
  1643  
  1644  	// Single characters; caseful must precede the caseless ones, and these
  1645  	//   must remain in this order, and adjacent.
  1646  
  1647  	OP_CHAR  = 29 // 29 Match one character, casefully
  1648  	OP_CHARI = 30 // 30 Match one character, caselessly
  1649  	OP_NOT   = 31 // 31 Match one character, not the given one, casefully
  1650  	OP_NOTI  = 32 // 32 Match one character, not the given one, caselessly
  1651  
  1652  	// The following sets of 13 opcodes must always be kept in step because
  1653  	//   the offset from the first one is used to generate the others.
  1654  
  1655  	// Repeated characters; caseful must precede the caseless ones
  1656  
  1657  	OP_STAR     = 33 // 33 The maximizing and minimizing versions of
  1658  	OP_MINSTAR  = 34 // 34 these six opcodes must come in pairs, with
  1659  	OP_PLUS     = 35 // 35 the minimizing one second.
  1660  	OP_MINPLUS  = 36 // 36
  1661  	OP_QUERY    = 37 // 37
  1662  	OP_MINQUERY = 38 // 38
  1663  
  1664  	OP_UPTO    = 39 // 39 From 0 to n matches of one character, caseful
  1665  	OP_MINUPTO = 40 // 40
  1666  	OP_EXACT   = 41 // 41 Exactly n matches
  1667  
  1668  	OP_POSSTAR  = 42 // 42 Possessified star, caseful
  1669  	OP_POSPLUS  = 43 // 43 Possessified plus, caseful
  1670  	OP_POSQUERY = 44 // 44 Posesssified query, caseful
  1671  	OP_POSUPTO  = 45 // 45 Possessified upto, caseful
  1672  
  1673  	// Repeated characters; caseless must follow the caseful ones
  1674  
  1675  	OP_STARI     = 46 // 46
  1676  	OP_MINSTARI  = 47 // 47
  1677  	OP_PLUSI     = 48 // 48
  1678  	OP_MINPLUSI  = 49 // 49
  1679  	OP_QUERYI    = 50 // 50
  1680  	OP_MINQUERYI = 51 // 51
  1681  
  1682  	OP_UPTOI    = 52 // 52 From 0 to n matches of one character, caseless
  1683  	OP_MINUPTOI = 53 // 53
  1684  	OP_EXACTI   = 54 // 54
  1685  
  1686  	OP_POSSTARI  = 55 // 55 Possessified star, caseless
  1687  	OP_POSPLUSI  = 56 // 56 Possessified plus, caseless
  1688  	OP_POSQUERYI = 57 // 57 Posesssified query, caseless
  1689  	OP_POSUPTOI  = 58 // 58 Possessified upto, caseless
  1690  
  1691  	// The negated ones must follow the non-negated ones, and match them
  1692  	// Negated repeated character, caseful; must precede the caseless ones
  1693  
  1694  	OP_NOTSTAR     = 59 // 59 The maximizing and minimizing versions of
  1695  	OP_NOTMINSTAR  = 60 // 60 these six opcodes must come in pairs, with
  1696  	OP_NOTPLUS     = 61 // 61 the minimizing one second. They must be in
  1697  	OP_NOTMINPLUS  = 62 // 62 exactly the same order as those above.
  1698  	OP_NOTQUERY    = 63 // 63
  1699  	OP_NOTMINQUERY = 64 // 64
  1700  
  1701  	OP_NOTUPTO    = 65 // 65 From 0 to n matches, caseful
  1702  	OP_NOTMINUPTO = 66 // 66
  1703  	OP_NOTEXACT   = 67 // 67 Exactly n matches
  1704  
  1705  	OP_NOTPOSSTAR  = 68 // 68 Possessified versions, caseful
  1706  	OP_NOTPOSPLUS  = 69 // 69
  1707  	OP_NOTPOSQUERY = 70 // 70
  1708  	OP_NOTPOSUPTO  = 71 // 71
  1709  
  1710  	// Negated repeated character, caseless; must follow the caseful ones
  1711  
  1712  	OP_NOTSTARI     = 72 // 72
  1713  	OP_NOTMINSTARI  = 73 // 73
  1714  	OP_NOTPLUSI     = 74 // 74
  1715  	OP_NOTMINPLUSI  = 75 // 75
  1716  	OP_NOTQUERYI    = 76 // 76
  1717  	OP_NOTMINQUERYI = 77 // 77
  1718  
  1719  	OP_NOTUPTOI    = 78 // 78 From 0 to n matches, caseless
  1720  	OP_NOTMINUPTOI = 79 // 79
  1721  	OP_NOTEXACTI   = 80 // 80 Exactly n matches
  1722  
  1723  	OP_NOTPOSSTARI  = 81 // 81 Possessified versions, caseless
  1724  	OP_NOTPOSPLUSI  = 82 // 82
  1725  	OP_NOTPOSQUERYI = 83 // 83
  1726  	OP_NOTPOSUPTOI  = 84 // 84
  1727  
  1728  	// Character types
  1729  
  1730  	OP_TYPESTAR     = 85 // 85 The maximizing and minimizing versions of
  1731  	OP_TYPEMINSTAR  = 86 // 86 these six opcodes must come in pairs, with
  1732  	OP_TYPEPLUS     = 87 // 87 the minimizing one second. These codes must
  1733  	OP_TYPEMINPLUS  = 88 // 88 be in exactly the same order as those above.
  1734  	OP_TYPEQUERY    = 89 // 89
  1735  	OP_TYPEMINQUERY = 90 // 90
  1736  
  1737  	OP_TYPEUPTO    = 91 // 91 From 0 to n matches
  1738  	OP_TYPEMINUPTO = 92 // 92
  1739  	OP_TYPEEXACT   = 93 // 93 Exactly n matches
  1740  
  1741  	OP_TYPEPOSSTAR  = 94 // 94 Possessified versions
  1742  	OP_TYPEPOSPLUS  = 95 // 95
  1743  	OP_TYPEPOSQUERY = 96 // 96
  1744  	OP_TYPEPOSUPTO  = 97 // 97
  1745  
  1746  	// These are used for character classes and back references; only the
  1747  	//   first six are the same as the sets above.
  1748  
  1749  	OP_CRSTAR     = 98  // 98 The maximizing and minimizing versions of
  1750  	OP_CRMINSTAR  = 99  // 99 all these opcodes must come in pairs, with
  1751  	OP_CRPLUS     = 100 // 100 the minimizing one second. These codes must
  1752  	OP_CRMINPLUS  = 101 // 101 be in exactly the same order as those above.
  1753  	OP_CRQUERY    = 102 // 102
  1754  	OP_CRMINQUERY = 103 // 103
  1755  
  1756  	OP_CRRANGE    = 104 // 104 These are different to the three sets above.
  1757  	OP_CRMINRANGE = 105 // 105
  1758  
  1759  	OP_CRPOSSTAR  = 106 // 106 Possessified versions
  1760  	OP_CRPOSPLUS  = 107 // 107
  1761  	OP_CRPOSQUERY = 108 // 108
  1762  	OP_CRPOSRANGE = 109 // 109
  1763  
  1764  	// End of quantifier opcodes
  1765  
  1766  	OP_CLASS  = 110 // 110 Match a character class, chars < 256 only
  1767  	OP_NCLASS = 111 // 111 Same, but the bitmap was created from a negative
  1768  	//                               class - the difference is relevant only when a
  1769  	//                               character > 255 is encountered.
  1770  	OP_XCLASS = 112 // 112 Extended class for handling > 255 chars within the
  1771  	//                               class. This does both positive and negative.
  1772  	OP_REF         = 113 // 113 Match a back reference, casefully
  1773  	OP_REFI        = 114 // 114 Match a back reference, caselessly
  1774  	OP_DNREF       = 115 // 115 Match a duplicate name backref, casefully
  1775  	OP_DNREFI      = 116 // 116 Match a duplicate name backref, caselessly
  1776  	OP_RECURSE     = 117 // 117 Match a numbered subpattern (possibly recursive)
  1777  	OP_CALLOUT     = 118 // 118 Call out to external function if provided
  1778  	OP_CALLOUT_STR = 119 // 119 Call out with string argument
  1779  
  1780  	OP_ALT     = 120 // 120 Start of alternation
  1781  	OP_KET     = 121 // 121 End of group that doesn't have an unbounded repeat
  1782  	OP_KETRMAX = 122 // 122 These two must remain together and in this
  1783  	OP_KETRMIN = 123 // 123 order. They are for groups the repeat for ever.
  1784  	OP_KETRPOS = 124 // 124 Possessive unlimited repeat.
  1785  
  1786  	// The assertions must come before BRA, CBRA, ONCE, and COND.
  1787  
  1788  	OP_REVERSE        = 125 // 125 Move pointer back - used in lookbehind assertions
  1789  	OP_ASSERT         = 126 // 126 Positive lookahead
  1790  	OP_ASSERT_NOT     = 127 // 127 Negative lookahead
  1791  	OP_ASSERTBACK     = 128 // 128 Positive lookbehind
  1792  	OP_ASSERTBACK_NOT = 129 // 129 Negative lookbehind
  1793  	OP_ASSERT_NA      = 130 // 130 Positive non-atomic lookahead
  1794  	OP_ASSERTBACK_NA  = 131 // 131 Positive non-atomic lookbehind
  1795  
  1796  	// ONCE, SCRIPT_RUN, BRA, BRAPOS, CBRA, CBRAPOS, and COND must come
  1797  	//   immediately after the assertions, with ONCE first, as there's a test for >=
  1798  	//   ONCE for a subpattern that isn't an assertion. The POS versions must
  1799  	//   immediately follow the non-POS versions in each case.
  1800  
  1801  	OP_ONCE       = 132 // 132 Atomic group, contains captures
  1802  	OP_SCRIPT_RUN = 133 // 133 Non-capture, but check characters' scripts
  1803  	OP_BRA        = 134 // 134 Start of non-capturing bracket
  1804  	OP_BRAPOS     = 135 // 135 Ditto, with unlimited, possessive repeat
  1805  	OP_CBRA       = 136 // 136 Start of capturing bracket
  1806  	OP_CBRAPOS    = 137 // 137 Ditto, with unlimited, possessive repeat
  1807  	OP_COND       = 138 // 138 Conditional group
  1808  
  1809  	// These five must follow the previous five, in the same order. There's a
  1810  	//   check for >= SBRA to distinguish the two sets.
  1811  
  1812  	OP_SBRA     = 139 // 139 Start of non-capturing bracket, check empty
  1813  	OP_SBRAPOS  = 140 // 149 Ditto, with unlimited, possessive repeat
  1814  	OP_SCBRA    = 141 // 141 Start of capturing bracket, check empty
  1815  	OP_SCBRAPOS = 142 // 142 Ditto, with unlimited, possessive repeat
  1816  	OP_SCOND    = 143 // 143 Conditional group, check empty
  1817  
  1818  	// The next two pairs must (respectively) be kept together.
  1819  
  1820  	OP_CREF   = 144 // 144 Used to hold a capture number as condition
  1821  	OP_DNCREF = 145 // 145 Used to point to duplicate names as a condition
  1822  	OP_RREF   = 146 // 146 Used to hold a recursion number as condition
  1823  	OP_DNRREF = 147 // 147 Used to point to duplicate names as a condition
  1824  	OP_FALSE  = 148 // 148 Always false (used by DEFINE and VERSION)
  1825  	OP_TRUE   = 149 // 149 Always true (used by VERSION)
  1826  
  1827  	OP_BRAZERO    = 150 // 150 These two must remain together and in this
  1828  	OP_BRAMINZERO = 151 // 151 order.
  1829  	OP_BRAPOSZERO = 152 // 152
  1830  
  1831  	// These are backtracking control verbs
  1832  
  1833  	OP_MARK       = 153 // 153 always has an argument
  1834  	OP_PRUNE      = 154 // 154
  1835  	OP_PRUNE_ARG  = 155 // 155 same, but with argument
  1836  	OP_SKIP       = 156 // 156
  1837  	OP_SKIP_ARG   = 157 // 157 same, but with argument
  1838  	OP_THEN       = 158 // 158
  1839  	OP_THEN_ARG   = 159 // 159 same, but with argument
  1840  	OP_COMMIT     = 160 // 160
  1841  	OP_COMMIT_ARG = 161 // 161 same, but with argument
  1842  
  1843  	// These are forced failure and success verbs. FAIL and ACCEPT do accept an
  1844  	//   argument, but these cases can be compiled as, for example, (*MARK:X)(*FAIL)
  1845  	//   without the need for a special opcode.
  1846  
  1847  	OP_FAIL          = 162 // 162
  1848  	OP_ACCEPT        = 163 // 163
  1849  	OP_ASSERT_ACCEPT = 164 // 164 Used inside assertions
  1850  	OP_CLOSE         = 165 // 165 Used before OP_ACCEPT to close open captures
  1851  
  1852  	// This is used to skip a subpattern with a {0} quantifier
  1853  
  1854  	OP_SKIPZERO = 166 // 166
  1855  
  1856  	// This is used to identify a DEFINE group during compilation so that it can
  1857  	//   be checked for having only one branch. It is changed to OP_FALSE before
  1858  	//   compilation finishes.
  1859  
  1860  	OP_DEFINE = 167 // 167
  1861  
  1862  	// This is not an opcode, but is used to check that tables indexed by opcode
  1863  	//   are the correct length, in order to catch updating errors - there have been
  1864  	//   some in the past.
  1865  
  1866  	OP_TABLE_LENGTH = 168
  1867  )
  1868  
  1869  // Size of entries in ucd_script_sets[]
  1870  
  1871  // End of pcre2_ucp.h
  1872  
  1873  // When PCRE2 is compiled as a C++ library, the subject pointer can be replaced
  1874  // with a custom type. This makes it possible, for example, to allow pcre2_match()
  1875  // to process subject strings that are discontinuous by using a smart pointer
  1876  // class. It must always be possible to inspect all of the subject string in
  1877  // pcre2_match() because of the way it backtracks.
  1878  
  1879  // WARNING: This is as yet untested for PCRE2.
  1880  
  1881  // When checking for integer overflow in pcre2_compile(), we need to handle
  1882  // large integers. If a 64-bit integer type is available, we can use that.
  1883  // Otherwise we have to cast to double, which of course requires floating point
  1884  // arithmetic. Handle this by defining a macro for the appropriate type.
  1885  
  1886  // External (in the C sense) functions and tables that are private to the
  1887  // libraries are always referenced using the PRIV macro. This makes it possible
  1888  // for pcre2test.c to include some of the source files from the libraries using a
  1889  // different PRIV definition to avoid name clashes. It also makes it clear in the
  1890  // code that a non-static object is being referenced.
  1891  
  1892  // When compiling for use with the Virtual Pascal compiler, these functions
  1893  // need to have their names changed. PCRE2 must be compiled with the -DVPCOMPAT
  1894  // option on the command line.
  1895  
  1896  // Otherwise, to cope with SunOS4 and other systems that lack memmove(), define
  1897  // a macro that calls an emulating function.
  1898  
  1899  // This is an unsigned int value that no UTF character can ever have, as
  1900  // Unicode doesn't go beyond 0x0010ffff.
  1901  
  1902  // This is the largest valid UTF/Unicode code point.
  1903  
  1904  // Compile-time positive error numbers (all except UTF errors, which are
  1905  // negative) start at this value. It should probably never be changed, in case
  1906  // some application is checking for specific numbers. There is a copy of this
  1907  // #define in pcre2posix.c (which now no longer includes this file). Ideally, a
  1908  // way of having a single definition should be found, but as the number is
  1909  // unlikely to change, this is not a pressing issue. The original reason for
  1910  // having a base other than 0 was to keep the absolute values of compile-time and
  1911  // run-time error numbers numerically different, but in the event the code does
  1912  // not rely on this.
  1913  
  1914  // The initial frames vector for remembering backtracking points in
  1915  // pcre2_match() is allocated on the system stack, of this size (bytes). The size
  1916  // must be a multiple of sizeof(PCRE2_SPTR) in all environments, so making it a
  1917  // multiple of 8 is best. Typical frame sizes are a few hundred bytes (it depends
  1918  // on the number of capturing parentheses) so 20KiB handles quite a few frames. A
  1919  // larger vector on the heap is obtained for patterns that need more frames. The
  1920  // maximum size of this can be limited.
  1921  
  1922  // Similarly, for DFA matching, an initial internal workspace vector is
  1923  // allocated on the stack.
  1924  
  1925  // Define the default BSR convention.
  1926  
  1927  // ---------------- Basic UTF-8 macros ----------------
  1928  
  1929  // These UTF-8 macros are always defined because they are used in pcre2test for
  1930  // handling wide characters in 16-bit and 32-bit modes, even if an 8-bit library
  1931  // is not supported.
  1932  
  1933  // Tests whether a UTF-8 code point needs extra bytes to decode.
  1934  
  1935  // The following macros were originally written in the form of loops that used
  1936  // data from the tables whose names start with PRIV(utf8_table). They were
  1937  // rewritten by a user so as not to use loops, because in some environments this
  1938  // gives a significant performance advantage, and it seems never to do any harm.
  1939  
  1940  // Base macro to pick up the remaining bytes of a UTF-8 character, not
  1941  // advancing the pointer.
  1942  
  1943  // Base macro to pick up the remaining bytes of a UTF-8 character, advancing
  1944  // the pointer.
  1945  
  1946  // Base macro to pick up the remaining bytes of a UTF-8 character, not
  1947  // advancing the pointer, incrementing the length.
  1948  
  1949  // --------------- Whitespace macros ----------------
  1950  
  1951  // Tests for Unicode horizontal and vertical whitespace characters must check a
  1952  // number of different values. Using a switch statement for this generates the
  1953  // fastest code (no loop, no memory access), and there are several places in the
  1954  // interpreter code where this happens. In order to ensure that all the case lists
  1955  // remain in step, we use macros so that there is only one place where the lists
  1956  // are defined.
  1957  //
  1958  // These values are also required as lists in pcre2_compile.c when processing \h,
  1959  // \H, \v and \V in a character class. The lists are defined in pcre2_tables.c,
  1960  // but macros that define the values are here so that all the definitions are
  1961  // together. The lists must be in ascending character order, terminated by
  1962  // NOTACHAR (which is 0xffffffff).
  1963  //
  1964  // Any changes should ensure that the various macros are kept in step with each
  1965  // other. NOTE: The values also appear in pcre2_jit_compile.c.
  1966  
  1967  // -------------- ASCII/Unicode environments --------------
  1968  
  1969  // Character U+180E (Mongolian Vowel Separator) is not included in the list of
  1970  // spaces in the Unicode file PropList.txt, and Perl does not recognize it as a
  1971  // space. However, in many other sources it is listed as a space and has been in
  1972  // PCRE (both APIs) for a long time.
  1973  
  1974  // -------------- EBCDIC environments --------------
  1975  
  1976  // -------------- End of whitespace macros --------------
  1977  
  1978  // PCRE2 is able to support several different kinds of newline (CR, LF, CRLF,
  1979  // "any" and "anycrlf" at present). The following macros are used to package up
  1980  // testing for newlines. NLBLOCK, PSSTART, and PSEND are defined in the various
  1981  // modules to indicate in which datablock the parameters exist, and what the
  1982  // start/end of string field names are.
  1983  
  1984  // This macro checks for a newline at the given position
  1985  
  1986  // This macro checks for a newline immediately preceding the given position
  1987  
  1988  // Private flags containing information about the compiled pattern. The first
  1989  // three must not be changed, because whichever is set is actually the number of
  1990  // bytes in a code unit in that mode.
  1991  
  1992  // Values for the matchedby field in a match data block.
  1993  
  1994  const ( /* pcre2_internal.h:537:1: */
  1995  	PCRE2_MATCHEDBY_INTERPRETER     = 0 // pcre2_match()
  1996  	PCRE2_MATCHEDBY_DFA_INTERPRETER = 1 // pcre2_dfa_match()
  1997  	PCRE2_MATCHEDBY_JIT             = 2
  1998  )
  1999  
  2000  // This function is needed only when memmove() is not available.
  2001  
  2002  // End of pcre2_internal.h
  2003  
  2004  // Masks for identifying the public options that are permitted at match time.
  2005  
  2006  // Non-error returns from and within the match() function. Error returns are
  2007  // externally defined PCRE2_ERROR_xxx codes, which are all negative.
  2008  
  2009  // Special internal returns used in the match() function. Make them
  2010  // sufficiently negative to avoid the external error codes.
  2011  
  2012  // The next 5 must be kept together and in sequence so that a test that checks
  2013  // for any one of them can use a range.
  2014  
  2015  // Group frame type values. Zero means the frame is not a group frame. The
  2016  // lower 16 bits are used for data (e.g. the capture number). Group frames are
  2017  // used for most groups so that information about the start is easily available at
  2018  // the end without having to scan back through intermediate frames (backtrack
  2019  // points).
  2020  
  2021  // Masks for the identity and data parts of the group frame type.
  2022  
  2023  // Repetition types
  2024  
  2025  const ( /* pcre2_match.c:118:1: */
  2026  	REPTYPE_MIN = 0
  2027  	REPTYPE_MAX = 1
  2028  	REPTYPE_POS = 2
  2029  ) // OP_CRPOSQUERY, OP_CRPOSRANGE
  2030  
  2031  // Numbers for RMATCH calls at backtracking points. When these lists are
  2032  // changed, the code at RETURN_SWITCH below must be updated in sync.
  2033  
  2034  const ( /* pcre2_match.c:150:1: */
  2035  	RM1  = 1
  2036  	RM2  = 2
  2037  	RM3  = 3
  2038  	RM4  = 4
  2039  	RM5  = 5
  2040  	RM6  = 6
  2041  	RM7  = 7
  2042  	RM8  = 8
  2043  	RM9  = 9
  2044  	RM10 = 10
  2045  	RM11 = 11
  2046  	RM12 = 12
  2047  	RM13 = 13
  2048  	RM14 = 14
  2049  	RM15 = 15
  2050  	RM16 = 16
  2051  	RM17 = 17
  2052  	RM18 = 18
  2053  	RM19 = 19
  2054  	RM20 = 20
  2055  	RM21 = 21
  2056  	RM22 = 22
  2057  	RM23 = 23
  2058  	RM24 = 24
  2059  	RM25 = 25
  2060  	RM26 = 26
  2061  	RM27 = 27
  2062  	RM28 = 28
  2063  	RM29 = 29
  2064  	RM30 = 30
  2065  	RM31 = 31
  2066  	RM32 = 32
  2067  	RM33 = 33
  2068  	RM34 = 34
  2069  	RM35 = 35
  2070  	RM36 = 36
  2071  )
  2072  
  2073  const ( /* pcre2_match.c:156:1: */
  2074  	RM100 = 100
  2075  	RM101 = 101
  2076  )
  2077  
  2078  const ( /* pcre2_match.c:160:1: */
  2079  	RM200 = 200
  2080  	RM201 = 201
  2081  	RM202 = 202
  2082  	RM203 = 203
  2083  	RM204 = 204
  2084  	RM205 = 205
  2085  	RM206 = 206
  2086  	RM207 = 207
  2087  	RM208 = 208
  2088  	RM209 = 209
  2089  	RM210 = 210
  2090  	RM211 = 211
  2091  	RM212 = 212
  2092  	RM213 = 213
  2093  	RM214 = 214
  2094  	RM215 = 215
  2095  	RM216 = 216
  2096  	RM217 = 217
  2097  	RM218 = 218
  2098  	RM219 = 219
  2099  	RM220 = 220
  2100  	RM221 = 221
  2101  	RM222 = 222
  2102  	RM223 = 223
  2103  	RM224 = 224
  2104  	RM225 = 225
  2105  )
  2106  
  2107  // This function is needed only when memmove() is not available.
  2108  
  2109  // End of pcre2_internal.h
  2110  
  2111  // ************************************************
  2112  //
  2113  //                Check script run                *
  2114  //
  2115  
  2116  // A script run is conceptually a sequence of characters all in the same
  2117  // Unicode script. However, it isn't quite that simple. There are special rules
  2118  // for scripts that are commonly used together, and also special rules for digits.
  2119  // This function implements the appropriate checks, which is possible only when
  2120  // PCRE2 is compiled with Unicode support. The function returns TRUE if there is
  2121  // no Unicode support; however, it should never be called in that circumstance
  2122  // because an error is given by pcre2_compile() if a script run is called for in a
  2123  // version of PCRE2 compiled without Unicode support.
  2124  //
  2125  // Arguments:
  2126  //   pgr       point to the first character
  2127  //   endptr    point after the last character
  2128  //   utf       TRUE if in UTF mode
  2129  //
  2130  // Returns:    TRUE if this is a valid script run
  2131  
  2132  // These are states in the checking process.
  2133  
  2134  const ( /* pcre2_script_run.c:73:1: */
  2135  	SCRIPT_UNSET       = 0 // Requirement as yet unknown
  2136  	SCRIPT_MAP         = 1 // Bitmap contains acceptable scripts
  2137  	SCRIPT_HANPENDING  = 2 // Have had only Han characters
  2138  	SCRIPT_HANHIRAKATA = 3 // Expect Han or Hirikata
  2139  	SCRIPT_HANBOPOMOFO = 4 // Expect Han or Bopomofo
  2140  	SCRIPT_HANHANGUL   = 5
  2141  )
  2142  
  2143  // This function is needed only when memmove() is not available.
  2144  
  2145  // End of pcre2_internal.h
  2146  
  2147  // The maximum remembered capturing brackets minimum.
  2148  
  2149  // Set a bit in the starting code unit bit map.
  2150  
  2151  // Returns from set_start_bits()
  2152  
  2153  const ( /* pcre2_study.c:61:1: */
  2154  	SSB_FAIL     = 0
  2155  	SSB_DONE     = 1
  2156  	SSB_CONTINUE = 2
  2157  	SSB_UNKNOWN  = 3
  2158  	SSB_TOODEEP  = 4
  2159  )
  2160  
  2161  // These are Boolean properties.
  2162  
  2163  const ( /* pcre2_ucp.h:105:1: */
  2164  	ucp_ASCII                        = 0
  2165  	ucp_ASCII_Hex_Digit              = 1
  2166  	ucp_Alphabetic                   = 2
  2167  	ucp_Bidi_Control                 = 3
  2168  	ucp_Bidi_Mirrored                = 4
  2169  	ucp_Case_Ignorable               = 5
  2170  	ucp_Cased                        = 6
  2171  	ucp_Changes_When_Casefolded      = 7
  2172  	ucp_Changes_When_Casemapped      = 8
  2173  	ucp_Changes_When_Lowercased      = 9
  2174  	ucp_Changes_When_Titlecased      = 10
  2175  	ucp_Changes_When_Uppercased      = 11
  2176  	ucp_Dash                         = 12
  2177  	ucp_Default_Ignorable_Code_Point = 13
  2178  	ucp_Deprecated                   = 14
  2179  	ucp_Diacritic                    = 15
  2180  	ucp_Emoji                        = 16
  2181  	ucp_Emoji_Component              = 17
  2182  	ucp_Emoji_Modifier               = 18
  2183  	ucp_Emoji_Modifier_Base          = 19
  2184  	ucp_Emoji_Presentation           = 20
  2185  	ucp_Extended_Pictographic        = 21
  2186  	ucp_Extender                     = 22
  2187  	ucp_Grapheme_Base                = 23
  2188  	ucp_Grapheme_Extend              = 24
  2189  	ucp_Grapheme_Link                = 25
  2190  	ucp_Hex_Digit                    = 26
  2191  	ucp_IDS_Binary_Operator          = 27
  2192  	ucp_IDS_Trinary_Operator         = 28
  2193  	ucp_ID_Continue                  = 29
  2194  	ucp_ID_Start                     = 30
  2195  	ucp_Ideographic                  = 31
  2196  	ucp_Join_Control                 = 32
  2197  	ucp_Logical_Order_Exception      = 33
  2198  	ucp_Lowercase                    = 34
  2199  	ucp_Math                         = 35
  2200  	ucp_Noncharacter_Code_Point      = 36
  2201  	ucp_Pattern_Syntax               = 37
  2202  	ucp_Pattern_White_Space          = 38
  2203  	ucp_Prepended_Concatenation_Mark = 39
  2204  	ucp_Quotation_Mark               = 40
  2205  	ucp_Radical                      = 41
  2206  	ucp_Regional_Indicator           = 42
  2207  	ucp_Sentence_Terminal            = 43
  2208  	ucp_Soft_Dotted                  = 44
  2209  	ucp_Terminal_Punctuation         = 45
  2210  	ucp_Unified_Ideograph            = 46
  2211  	ucp_Uppercase                    = 47
  2212  	ucp_Variation_Selector           = 48
  2213  	ucp_White_Space                  = 49
  2214  	ucp_XID_Continue                 = 50
  2215  	ucp_XID_Start                    = 51
  2216  	// This must be last
  2217  	ucp_Bprop_Count = 52
  2218  )
  2219  
  2220  // Size of entries in ucd_boolprop_sets[]
  2221  
  2222  // These are the bidi class values.
  2223  
  2224  const ( /* pcre2_ucp.h:168:1: */
  2225  	ucp_bidiAL  = 0  // Arabic letter
  2226  	ucp_bidiAN  = 1  // Arabic number
  2227  	ucp_bidiB   = 2  // Paragraph separator
  2228  	ucp_bidiBN  = 3  // Boundary neutral
  2229  	ucp_bidiCS  = 4  // Common separator
  2230  	ucp_bidiEN  = 5  // European number
  2231  	ucp_bidiES  = 6  // European separator
  2232  	ucp_bidiET  = 7  // European terminator
  2233  	ucp_bidiFSI = 8  // First strong isolate
  2234  	ucp_bidiL   = 9  // Left to right
  2235  	ucp_bidiLRE = 10 // Left to right embedding
  2236  	ucp_bidiLRI = 11 // Left to right isolate
  2237  	ucp_bidiLRO = 12 // Left to right override
  2238  	ucp_bidiNSM = 13 // Non-spacing mark
  2239  	ucp_bidiON  = 14 // Other neutral
  2240  	ucp_bidiPDF = 15 // Pop directional format
  2241  	ucp_bidiPDI = 16 // Pop directional isolate
  2242  	ucp_bidiR   = 17 // Right to left
  2243  	ucp_bidiRLE = 18 // Right to left embedding
  2244  	ucp_bidiRLI = 19 // Right to left isolate
  2245  	ucp_bidiRLO = 20 // Right to left override
  2246  	ucp_bidiS   = 21 // Segment separator
  2247  	ucp_bidiWS  = 22
  2248  )
  2249  
  2250  // These are grapheme break properties. The Extended Pictographic property
  2251  // comes from the emoji-data.txt file.
  2252  
  2253  const ( /* pcre2_ucp.h:197:1: */
  2254  	ucp_gbCR                    = 0  //  0
  2255  	ucp_gbLF                    = 1  //  1
  2256  	ucp_gbControl               = 2  //  2
  2257  	ucp_gbExtend                = 3  //  3
  2258  	ucp_gbPrepend               = 4  //  4
  2259  	ucp_gbSpacingMark           = 5  //  5
  2260  	ucp_gbL                     = 6  //  6 Hangul syllable type L
  2261  	ucp_gbV                     = 7  //  7 Hangul syllable type V
  2262  	ucp_gbT                     = 8  //  8 Hangul syllable type T
  2263  	ucp_gbLV                    = 9  //  9 Hangul syllable type LV
  2264  	ucp_gbLVT                   = 10 // 10 Hangul syllable type LVT
  2265  	ucp_gbRegional_Indicator    = 11 // 11
  2266  	ucp_gbOther                 = 12 // 12
  2267  	ucp_gbZWJ                   = 13 // 13
  2268  	ucp_gbExtended_Pictographic = 14
  2269  )
  2270  
  2271  // These are the script identifications.
  2272  
  2273  const ( /* pcre2_ucp.h:217:1: */
  2274  	// Scripts which has characters in other scripts.
  2275  	ucp_Latin           = 0
  2276  	ucp_Greek           = 1
  2277  	ucp_Cyrillic        = 2
  2278  	ucp_Arabic          = 3
  2279  	ucp_Syriac          = 4
  2280  	ucp_Thaana          = 5
  2281  	ucp_Devanagari      = 6
  2282  	ucp_Bengali         = 7
  2283  	ucp_Gurmukhi        = 8
  2284  	ucp_Gujarati        = 9
  2285  	ucp_Oriya           = 10
  2286  	ucp_Tamil           = 11
  2287  	ucp_Telugu          = 12
  2288  	ucp_Kannada         = 13
  2289  	ucp_Malayalam       = 14
  2290  	ucp_Sinhala         = 15
  2291  	ucp_Myanmar         = 16
  2292  	ucp_Georgian        = 17
  2293  	ucp_Hangul          = 18
  2294  	ucp_Mongolian       = 19
  2295  	ucp_Hiragana        = 20
  2296  	ucp_Katakana        = 21
  2297  	ucp_Bopomofo        = 22
  2298  	ucp_Han             = 23
  2299  	ucp_Yi              = 24
  2300  	ucp_Tagalog         = 25
  2301  	ucp_Hanunoo         = 26
  2302  	ucp_Buhid           = 27
  2303  	ucp_Tagbanwa        = 28
  2304  	ucp_Limbu           = 29
  2305  	ucp_Tai_Le          = 30
  2306  	ucp_Linear_B        = 31
  2307  	ucp_Cypriot         = 32
  2308  	ucp_Buginese        = 33
  2309  	ucp_Coptic          = 34
  2310  	ucp_Glagolitic      = 35
  2311  	ucp_Syloti_Nagri    = 36
  2312  	ucp_Phags_Pa        = 37
  2313  	ucp_Nko             = 38
  2314  	ucp_Kayah_Li        = 39
  2315  	ucp_Javanese        = 40
  2316  	ucp_Kaithi          = 41
  2317  	ucp_Mandaic         = 42
  2318  	ucp_Chakma          = 43
  2319  	ucp_Sharada         = 44
  2320  	ucp_Takri           = 45
  2321  	ucp_Duployan        = 46
  2322  	ucp_Grantha         = 47
  2323  	ucp_Khojki          = 48
  2324  	ucp_Linear_A        = 49
  2325  	ucp_Mahajani        = 50
  2326  	ucp_Manichaean      = 51
  2327  	ucp_Modi            = 52
  2328  	ucp_Old_Permic      = 53
  2329  	ucp_Psalter_Pahlavi = 54
  2330  	ucp_Khudawadi       = 55
  2331  	ucp_Tirhuta         = 56
  2332  	ucp_Multani         = 57
  2333  	ucp_Adlam           = 58
  2334  	ucp_Masaram_Gondi   = 59
  2335  	ucp_Dogra           = 60
  2336  	ucp_Gunjala_Gondi   = 61
  2337  	ucp_Hanifi_Rohingya = 62
  2338  	ucp_Sogdian         = 63
  2339  	ucp_Nandinagari     = 64
  2340  	ucp_Yezidi          = 65
  2341  	ucp_Cypro_Minoan    = 66
  2342  	ucp_Old_Uyghur      = 67
  2343  
  2344  	// Scripts which has no characters in other scripts.
  2345  	ucp_Unknown                = 68
  2346  	ucp_Common                 = 69
  2347  	ucp_Armenian               = 70
  2348  	ucp_Hebrew                 = 71
  2349  	ucp_Thai                   = 72
  2350  	ucp_Lao                    = 73
  2351  	ucp_Tibetan                = 74
  2352  	ucp_Ethiopic               = 75
  2353  	ucp_Cherokee               = 76
  2354  	ucp_Canadian_Aboriginal    = 77
  2355  	ucp_Ogham                  = 78
  2356  	ucp_Runic                  = 79
  2357  	ucp_Khmer                  = 80
  2358  	ucp_Old_Italic             = 81
  2359  	ucp_Gothic                 = 82
  2360  	ucp_Deseret                = 83
  2361  	ucp_Inherited              = 84
  2362  	ucp_Ugaritic               = 85
  2363  	ucp_Shavian                = 86
  2364  	ucp_Osmanya                = 87
  2365  	ucp_Braille                = 88
  2366  	ucp_New_Tai_Lue            = 89
  2367  	ucp_Tifinagh               = 90
  2368  	ucp_Old_Persian            = 91
  2369  	ucp_Kharoshthi             = 92
  2370  	ucp_Balinese               = 93
  2371  	ucp_Cuneiform              = 94
  2372  	ucp_Phoenician             = 95
  2373  	ucp_Sundanese              = 96
  2374  	ucp_Lepcha                 = 97
  2375  	ucp_Ol_Chiki               = 98
  2376  	ucp_Vai                    = 99
  2377  	ucp_Saurashtra             = 100
  2378  	ucp_Rejang                 = 101
  2379  	ucp_Lycian                 = 102
  2380  	ucp_Carian                 = 103
  2381  	ucp_Lydian                 = 104
  2382  	ucp_Cham                   = 105
  2383  	ucp_Tai_Tham               = 106
  2384  	ucp_Tai_Viet               = 107
  2385  	ucp_Avestan                = 108
  2386  	ucp_Egyptian_Hieroglyphs   = 109
  2387  	ucp_Samaritan              = 110
  2388  	ucp_Lisu                   = 111
  2389  	ucp_Bamum                  = 112
  2390  	ucp_Meetei_Mayek           = 113
  2391  	ucp_Imperial_Aramaic       = 114
  2392  	ucp_Old_South_Arabian      = 115
  2393  	ucp_Inscriptional_Parthian = 116
  2394  	ucp_Inscriptional_Pahlavi  = 117
  2395  	ucp_Old_Turkic             = 118
  2396  	ucp_Batak                  = 119
  2397  	ucp_Brahmi                 = 120
  2398  	ucp_Meroitic_Cursive       = 121
  2399  	ucp_Meroitic_Hieroglyphs   = 122
  2400  	ucp_Miao                   = 123
  2401  	ucp_Sora_Sompeng           = 124
  2402  	ucp_Caucasian_Albanian     = 125
  2403  	ucp_Bassa_Vah              = 126
  2404  	ucp_Elbasan                = 127
  2405  	ucp_Pahawh_Hmong           = 128
  2406  	ucp_Mende_Kikakui          = 129
  2407  	ucp_Mro                    = 130
  2408  	ucp_Old_North_Arabian      = 131
  2409  	ucp_Nabataean              = 132
  2410  	ucp_Palmyrene              = 133
  2411  	ucp_Pau_Cin_Hau            = 134
  2412  	ucp_Siddham                = 135
  2413  	ucp_Warang_Citi            = 136
  2414  	ucp_Ahom                   = 137
  2415  	ucp_Anatolian_Hieroglyphs  = 138
  2416  	ucp_Hatran                 = 139
  2417  	ucp_Old_Hungarian          = 140
  2418  	ucp_SignWriting            = 141
  2419  	ucp_Bhaiksuki              = 142
  2420  	ucp_Marchen                = 143
  2421  	ucp_Newa                   = 144
  2422  	ucp_Osage                  = 145
  2423  	ucp_Tangut                 = 146
  2424  	ucp_Nushu                  = 147
  2425  	ucp_Soyombo                = 148
  2426  	ucp_Zanabazar_Square       = 149
  2427  	ucp_Makasar                = 150
  2428  	ucp_Medefaidrin            = 151
  2429  	ucp_Old_Sogdian            = 152
  2430  	ucp_Elymaic                = 153
  2431  	ucp_Nyiakeng_Puachue_Hmong = 154
  2432  	ucp_Wancho                 = 155
  2433  	ucp_Chorasmian             = 156
  2434  	ucp_Dives_Akuru            = 157
  2435  	ucp_Khitan_Small_Script    = 158
  2436  	ucp_Tangsa                 = 159
  2437  	ucp_Toto                   = 160
  2438  	ucp_Vithkuqi               = 161
  2439  
  2440  	// This must be last
  2441  	ucp_Script_Count = 162
  2442  )
  2443  
  2444  // Undefine the list macros; they are no longer needed.
  2445  
  2446  // PCRE2_CODE_UNIT_WIDTH must be defined. If it is 8, 16, or 32, redefine
  2447  // PCRE2_SUFFIX to use it. If it is 0, undefine the other macros and make
  2448  // PCRE2_SUFFIX a no-op. Otherwise, generate an error.
  2449  
  2450  // End of pcre2.h
  2451  // ************************************************
  2452  //
  2453  //      Perl-Compatible Regular Expressions       *
  2454  //
  2455  
  2456  // PCRE is a library of functions to support regular expressions whose syntax
  2457  // and semantics are as close as possible to those of the Perl 5 language.
  2458  //
  2459  //                        Written by Philip Hazel
  2460  //      Original API code Copyright (c) 1997-2012 University of Cambridge
  2461  //           New API code Copyright (c) 2016-2022 University of Cambridge
  2462  //
  2463  // This module is auto-generated from Unicode data files. DO NOT EDIT MANUALLY!
  2464  // Instead, modify the maint/GenerateUcpHeader.py script and run it to generate
  2465  // a new version of this code.
  2466  //
  2467  // -----------------------------------------------------------------------------
  2468  // Redistribution and use in source and binary forms, with or without
  2469  // modification, are permitted provided that the following conditions are met:
  2470  //
  2471  //     * Redistributions of source code must retain the above copyright notice,
  2472  //       this list of conditions and the following disclaimer.
  2473  //
  2474  //     * Redistributions in binary form must reproduce the above copyright
  2475  //       notice, this list of conditions and the following disclaimer in the
  2476  //       documentation and/or other materials provided with the distribution.
  2477  //
  2478  //     * Neither the name of the University of Cambridge nor the names of its
  2479  //       contributors may be used to endorse or promote products derived from
  2480  //       this software without specific prior written permission.
  2481  //
  2482  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  2483  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2484  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2485  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  2486  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2487  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2488  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  2489  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  2490  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2491  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  2492  // POSSIBILITY OF SUCH DAMAGE.
  2493  // -----------------------------------------------------------------------------
  2494  
  2495  // This file contains definitions of the Unicode property values that are
  2496  // returned by the UCD access macros and used throughout PCRE2.
  2497  //
  2498  // IMPORTANT: The specific values of the first two enums (general and particular
  2499  // character categories) are assumed by the table called catposstab in the file
  2500  // pcre2_auto_possess.c. They are unlikely to change, but should be checked after
  2501  // an update.
  2502  
  2503  // These are the general character categories.
  2504  
  2505  const ( /* pcre2_ucp.h:58:1: */
  2506  	ucp_C = 0
  2507  	ucp_L = 1
  2508  	ucp_M = 2
  2509  	ucp_N = 3
  2510  	ucp_P = 4
  2511  	ucp_S = 5
  2512  	ucp_Z = 6
  2513  )
  2514  
  2515  // These are the particular character categories.
  2516  
  2517  const ( /* pcre2_ucp.h:70:1: */
  2518  	ucp_Cc = 0  // Control
  2519  	ucp_Cf = 1  // Format
  2520  	ucp_Cn = 2  // Unassigned
  2521  	ucp_Co = 3  // Private use
  2522  	ucp_Cs = 4  // Surrogate
  2523  	ucp_Ll = 5  // Lower case letter
  2524  	ucp_Lm = 6  // Modifier letter
  2525  	ucp_Lo = 7  // Other letter
  2526  	ucp_Lt = 8  // Title case letter
  2527  	ucp_Lu = 9  // Upper case letter
  2528  	ucp_Mc = 10 // Spacing mark
  2529  	ucp_Me = 11 // Enclosing mark
  2530  	ucp_Mn = 12 // Non-spacing mark
  2531  	ucp_Nd = 13 // Decimal number
  2532  	ucp_Nl = 14 // Letter number
  2533  	ucp_No = 15 // Other number
  2534  	ucp_Pc = 16 // Connector punctuation
  2535  	ucp_Pd = 17 // Dash punctuation
  2536  	ucp_Pe = 18 // Close punctuation
  2537  	ucp_Pf = 19 // Final punctuation
  2538  	ucp_Pi = 20 // Initial punctuation
  2539  	ucp_Po = 21 // Other punctuation
  2540  	ucp_Ps = 22 // Open punctuation
  2541  	ucp_Sc = 23 // Currency symbol
  2542  	ucp_Sk = 24 // Modifier symbol
  2543  	ucp_Sm = 25 // Mathematical symbol
  2544  	ucp_So = 26 // Other symbol
  2545  	ucp_Zl = 27 // Line separator
  2546  	ucp_Zp = 28 // Paragraph separator
  2547  	ucp_Zs = 29
  2548  )
  2549  
  2550  type Tptrdiff_t = int64 /* <builtin>:3:26 */
  2551  
  2552  type Tsize_t = uint64 /* <builtin>:9:23 */
  2553  
  2554  type Twchar_t = int32 /* <builtin>:15:24 */
  2555  
  2556  type T__int128_t = struct {
  2557  	Flo int64
  2558  	Fhi int64
  2559  } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
  2560  type T__uint128_t = struct {
  2561  	Flo uint64
  2562  	Fhi uint64
  2563  } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
  2564  
  2565  type T__builtin_va_list = uintptr /* <builtin>:46:14 */
  2566  type T__float128 = float64        /* <builtin>:47:21 */
  2567  
  2568  // ************************************************
  2569  //
  2570  //      Perl-Compatible Regular Expressions       *
  2571  //
  2572  
  2573  // PCRE is a library of functions to support regular expressions whose syntax
  2574  // and semantics are as close as possible to those of the Perl 5 language.
  2575  //
  2576  //                        Written by Philip Hazel
  2577  //      Original API code Copyright (c) 1997-2012 University of Cambridge
  2578  //           New API code Copyright (c) 2016-2022 University of Cambridge
  2579  //
  2580  // -----------------------------------------------------------------------------
  2581  // Redistribution and use in source and binary forms, with or without
  2582  // modification, are permitted provided that the following conditions are met:
  2583  //
  2584  //     * Redistributions of source code must retain the above copyright notice,
  2585  //       this list of conditions and the following disclaimer.
  2586  //
  2587  //     * Redistributions in binary form must reproduce the above copyright
  2588  //       notice, this list of conditions and the following disclaimer in the
  2589  //       documentation and/or other materials provided with the distribution.
  2590  //
  2591  //     * Neither the name of the University of Cambridge nor the names of its
  2592  //       contributors may be used to endorse or promote products derived from
  2593  //       this software without specific prior written permission.
  2594  //
  2595  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  2596  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2597  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2598  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  2599  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2600  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2601  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  2602  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  2603  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2604  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  2605  // POSSIBILITY OF SUCH DAMAGE.
  2606  // -----------------------------------------------------------------------------
  2607  
  2608  // This module contains functions that scan a compiled pattern and change
  2609  // repeats into possessive repeats where possible.
  2610  
  2611  // src/config.h.  Generated from config.h.in by configure.
  2612  // src/config.h.in.  Generated from configure.ac by autoheader.
  2613  
  2614  // PCRE2 is written in Standard C, but there are a few non-standard things it
  2615  // can cope with, allowing it to run on SunOS4 and other "close to standard"
  2616  // systems.
  2617  //
  2618  // In environments that support the GNU autotools, config.h.in is converted into
  2619  // config.h by the "configure" script. In environments that use CMake,
  2620  // config-cmake.in is converted into config.h. If you are going to build PCRE2 "by
  2621  // hand" without using "configure" or CMake, you should copy the distributed
  2622  // config.h.generic to config.h, and edit the macro definitions to be the way you
  2623  // need them. You must then add -DHAVE_CONFIG_H to all of your compile commands,
  2624  // so that config.h is included at the start of every source.
  2625  //
  2626  // Alternatively, you can avoid editing by using -D on the compiler command line
  2627  // to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H,
  2628  // but if you do, default values will be taken from config.h for non-boolean
  2629  // macros that are not defined on the command line.
  2630  //
  2631  // Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE2_8 should either be
  2632  // defined (conventionally to 1) for TRUE, and not defined at all for FALSE. All
  2633  // such macros are listed as a commented #undef in config.h.generic. Macros such
  2634  // as MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are
  2635  // surrounded by #ifndef/#endif lines so that the value can be overridden by -D.
  2636  //
  2637  // PCRE2 uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if
  2638  // HAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make
  2639  // sure both macros are undefined; an emulation function will then be used.
  2640  
  2641  // By default, the \R escape sequence matches any Unicode line ending
  2642  //    character or sequence of characters. If BSR_ANYCRLF is defined (to any
  2643  //    value), this is changed so that backslash-R matches only CR, LF, or CRLF.
  2644  //    The build-time default can be overridden by the user of PCRE2 at runtime.
  2645  //
  2646  // #undef BSR_ANYCRLF
  2647  
  2648  // Define to any value to disable the use of the z and t modifiers in
  2649  //    formatting settings such as %zu or %td (this is rarely needed).
  2650  // #undef DISABLE_PERCENT_ZT
  2651  
  2652  // If you are compiling for a system that uses EBCDIC instead of ASCII
  2653  //    character codes, define this macro to any value. When EBCDIC is set, PCRE2
  2654  //    assumes that all input strings are in EBCDIC. If you do not define this
  2655  //    macro, PCRE2 will assume input strings are ASCII or UTF-8/16/32 Unicode. It
  2656  //    is not possible to build a version of PCRE2 that supports both EBCDIC and
  2657  //    UTF-8/16/32.
  2658  // #undef EBCDIC
  2659  
  2660  // In an EBCDIC environment, define this macro to any value to arrange for the
  2661  //    NL character to be 0x25 instead of the default 0x15. NL plays the role that
  2662  //    LF does in an ASCII/Unicode environment.
  2663  // #undef EBCDIC_NL25
  2664  
  2665  // Define this if your compiler supports __attribute__((uninitialized))
  2666  // #undef HAVE_ATTRIBUTE_UNINITIALIZED
  2667  
  2668  // Define to 1 if you have the `bcopy' function.
  2669  
  2670  // Define to 1 if you have the <bzlib.h> header file.
  2671  
  2672  // Define to 1 if you have the <dirent.h> header file.
  2673  
  2674  // Define to 1 if you have the <dlfcn.h> header file.
  2675  
  2676  // Define to 1 if you have the <editline/readline.h> header file.
  2677  // #undef HAVE_EDITLINE_READLINE_H
  2678  
  2679  // Define to 1 if you have the <edit/readline/readline.h> header file.
  2680  // #undef HAVE_EDIT_READLINE_READLINE_H
  2681  
  2682  // Define to 1 if you have the <inttypes.h> header file.
  2683  
  2684  // Define to 1 if you have the <limits.h> header file.
  2685  
  2686  // Define to 1 if you have the `memfd_create' function.
  2687  
  2688  // Define to 1 if you have the `memmove' function.
  2689  
  2690  // Define to 1 if you have the <minix/config.h> header file.
  2691  // #undef HAVE_MINIX_CONFIG_H
  2692  
  2693  // Define to 1 if you have the `mkostemp' function.
  2694  
  2695  // Define if you have POSIX threads libraries and header files.
  2696  // #undef HAVE_PTHREAD
  2697  
  2698  // Have PTHREAD_PRIO_INHERIT.
  2699  // #undef HAVE_PTHREAD_PRIO_INHERIT
  2700  
  2701  // Define to 1 if you have the <readline.h> header file.
  2702  // #undef HAVE_READLINE_H
  2703  
  2704  // Define to 1 if you have the <readline/history.h> header file.
  2705  // #undef HAVE_READLINE_HISTORY_H
  2706  
  2707  // Define to 1 if you have the <readline/readline.h> header file.
  2708  // #undef HAVE_READLINE_READLINE_H
  2709  
  2710  // Define to 1 if you have the `realpath' function.
  2711  
  2712  // Define to 1 if you have the `secure_getenv' function.
  2713  
  2714  // Define to 1 if you have the <stdint.h> header file.
  2715  
  2716  // Define to 1 if you have the <stdio.h> header file.
  2717  
  2718  // Define to 1 if you have the <stdlib.h> header file.
  2719  
  2720  // Define to 1 if you have the `strerror' function.
  2721  
  2722  // Define to 1 if you have the <strings.h> header file.
  2723  
  2724  // Define to 1 if you have the <string.h> header file.
  2725  
  2726  // Define to 1 if you have the <sys/stat.h> header file.
  2727  
  2728  // Define to 1 if you have the <sys/types.h> header file.
  2729  
  2730  // Define to 1 if you have the <sys/wait.h> header file.
  2731  
  2732  // Define to 1 if you have the <unistd.h> header file.
  2733  
  2734  // Define to 1 if the compiler supports simple visibility declarations.
  2735  
  2736  // Define to 1 if you have the <wchar.h> header file.
  2737  
  2738  // Define to 1 if you have the <windows.h> header file.
  2739  // #undef HAVE_WINDOWS_H
  2740  
  2741  // Define to 1 if you have the <zlib.h> header file.
  2742  
  2743  // This limits the amount of memory that may be used while matching a pattern.
  2744  //    It applies to both pcre2_match() and pcre2_dfa_match(). It does not apply
  2745  //    to JIT matching. The value is in kibibytes (units of 1024 bytes).
  2746  
  2747  // The value of LINK_SIZE determines the number of bytes used to store links
  2748  //    as offsets within the compiled regex. The default is 2, which allows for
  2749  //    compiled patterns up to 65535 code units long. This covers the vast
  2750  //    majority of cases. However, PCRE2 can also be compiled to use 3 or 4 bytes
  2751  //    instead. This allows for longer patterns in extreme cases.
  2752  
  2753  // Define to the sub-directory where libtool stores uninstalled libraries.
  2754  
  2755  // The value of MATCH_LIMIT determines the default number of times the
  2756  //    pcre2_match() function can record a backtrack position during a single
  2757  //    matching attempt. The value is also used to limit a loop counter in
  2758  //    pcre2_dfa_match(). There is a runtime interface for setting a different
  2759  //    limit. The limit exists in order to catch runaway regular expressions that
  2760  //    take for ever to determine that they do not match. The default is set very
  2761  //    large so that it does not accidentally catch legitimate cases.
  2762  
  2763  // The above limit applies to all backtracks, whether or not they are nested.
  2764  //    In some environments it is desirable to limit the nesting of backtracking
  2765  //    (that is, the depth of tree that is searched) more strictly, in order to
  2766  //    restrict the maximum amount of heap memory that is used. The value of
  2767  //    MATCH_LIMIT_DEPTH provides this facility. To have any useful effect, it
  2768  //    must be less than the value of MATCH_LIMIT. The default is to use the same
  2769  //    value as MATCH_LIMIT. There is a runtime method for setting a different
  2770  //    limit. In the case of pcre2_dfa_match(), this limit controls the depth of
  2771  //    the internal nested function calls that are used for pattern recursions,
  2772  //    lookarounds, and atomic groups.
  2773  
  2774  // This limit is parameterized just in case anybody ever wants to change it.
  2775  //    Care must be taken if it is increased, because it guards against integer
  2776  //    overflow caused by enormously large patterns.
  2777  
  2778  // This limit is parameterized just in case anybody ever wants to change it.
  2779  //    Care must be taken if it is increased, because it guards against integer
  2780  //    overflow caused by enormously large patterns.
  2781  
  2782  // Defining NEVER_BACKSLASH_C locks out the use of \C in all patterns.
  2783  // #undef NEVER_BACKSLASH_C
  2784  
  2785  // The value of NEWLINE_DEFAULT determines the default newline character
  2786  //    sequence. PCRE2 client programs can override this by selecting other values
  2787  //    at run time. The valid values are 1 (CR), 2 (LF), 3 (CRLF), 4 (ANY), 5
  2788  //    (ANYCRLF), and 6 (NUL).
  2789  
  2790  // Name of package
  2791  
  2792  // Define to the address where bug reports for this package should be sent.
  2793  
  2794  // Define to the full name of this package.
  2795  
  2796  // Define to the full name and version of this package.
  2797  
  2798  // Define to the one symbol short name of this package.
  2799  
  2800  // Define to the home page for this package.
  2801  
  2802  // Define to the version of this package.
  2803  
  2804  // The value of PARENS_NEST_LIMIT specifies the maximum depth of nested
  2805  //    parentheses (of any kind) in a pattern. This limits the amount of system
  2806  //    stack that is used while compiling a pattern.
  2807  
  2808  // The value of PCRE2GREP_BUFSIZE is the starting size of the buffer used by
  2809  //    pcre2grep to hold parts of the file it is searching. The buffer will be
  2810  //    expanded up to PCRE2GREP_MAX_BUFSIZE if necessary, for files containing
  2811  //    very long lines. The actual amount of memory used by pcre2grep is three
  2812  //    times this number, because it allows for the buffering of "before" and
  2813  //    "after" lines.
  2814  
  2815  // The value of PCRE2GREP_MAX_BUFSIZE specifies the maximum size of the buffer
  2816  //    used by pcre2grep to hold parts of the file it is searching. The actual
  2817  //    amount of memory used by pcre2grep is three times this number, because it
  2818  //    allows for the buffering of "before" and "after" lines.
  2819  
  2820  // to make a symbol visible
  2821  
  2822  // to make a symbol visible
  2823  
  2824  // Define to any value to include debugging code.
  2825  // #undef PCRE2_DEBUG
  2826  
  2827  // to make a symbol visible
  2828  
  2829  // If you are compiling for a system other than a Unix-like system or
  2830  //    Win32, and it needs some magic to be inserted before the definition
  2831  //    of a function that is exported by the library, define this macro to
  2832  //    contain the relevant magic. If you do not define this macro, a suitable
  2833  //     __declspec value is used for Windows systems; in other environments
  2834  //    "extern" is used for a C compiler and "extern C" for a C++ compiler.
  2835  //    This macro apears at the start of every exported function that is part
  2836  //    of the external API. It does not appear on functions that are "external"
  2837  //    in the C sense, but which are internal to the library.
  2838  
  2839  // Define to any value if linking statically (TODO: make nice with Libtool)
  2840  
  2841  // Define to necessary symbol if this constant uses a non-standard name on
  2842  //    your system.
  2843  // #undef PTHREAD_CREATE_JOINABLE
  2844  
  2845  // Define to any non-zero number to enable support for SELinux compatible
  2846  //    executable memory allocator in JIT. Note that this will have no effect
  2847  //    unless SUPPORT_JIT is also defined.
  2848  // #undef SLJIT_PROT_EXECUTABLE_ALLOCATOR
  2849  
  2850  // Define to 1 if all of the C90 standard headers exist (not just the ones
  2851  //    required in a freestanding environment). This macro is provided for
  2852  //    backward compatibility; new code need not use it.
  2853  
  2854  // Define to any value to enable support for Just-In-Time compiling.
  2855  // #undef SUPPORT_JIT
  2856  
  2857  // Define to any value to allow pcre2grep to be linked with libbz2, so that it
  2858  //    is able to handle .bz2 files.
  2859  // #undef SUPPORT_LIBBZ2
  2860  
  2861  // Define to any value to allow pcre2test to be linked with libedit.
  2862  // #undef SUPPORT_LIBEDIT
  2863  
  2864  // Define to any value to allow pcre2test to be linked with libreadline.
  2865  // #undef SUPPORT_LIBREADLINE
  2866  
  2867  // Define to any value to allow pcre2grep to be linked with libz, so that it
  2868  //    is able to handle .gz files.
  2869  // #undef SUPPORT_LIBZ
  2870  
  2871  // Define to any value to enable callout script support in pcre2grep.
  2872  
  2873  // Define to any value to enable fork support in pcre2grep callout scripts.
  2874  //    This will have no effect unless SUPPORT_PCRE2GREP_CALLOUT is also defined.
  2875  //
  2876  
  2877  // Define to any value to enable JIT support in pcre2grep. Note that this will
  2878  //    have no effect unless SUPPORT_JIT is also defined.
  2879  // #undef SUPPORT_PCRE2GREP_JIT
  2880  
  2881  // Define to any value to enable the 16 bit PCRE2 library.
  2882  // #undef SUPPORT_PCRE2_16
  2883  
  2884  // Define to any value to enable the 32 bit PCRE2 library.
  2885  // #undef SUPPORT_PCRE2_32
  2886  
  2887  // Define to any value to enable the 8 bit PCRE2 library.
  2888  
  2889  // Define to any value to enable support for Unicode and UTF encoding. This
  2890  //    will work even in an EBCDIC environment, but it is incompatible with the
  2891  //    EBCDIC macro. That is, PCRE2 can support *either* EBCDIC code *or*
  2892  //    ASCII/Unicode, but not both at once.
  2893  
  2894  // Define to any value for valgrind support to find invalid memory reads.
  2895  // #undef SUPPORT_VALGRIND
  2896  
  2897  // Enable extensions on AIX 3, Interix.
  2898  // Enable general extensions on macOS.
  2899  // Enable general extensions on Solaris.
  2900  // Enable GNU extensions on systems that have them.
  2901  // Enable X/Open compliant socket functions that do not require linking
  2902  //    with -lxnet on HP-UX 11.11.
  2903  // Identify the host operating system as Minix.
  2904  //    This macro does not affect the system headers' behavior.
  2905  //    A future release of Autoconf may stop defining this macro.
  2906  // # undef _MINIX
  2907  // Enable general extensions on NetBSD.
  2908  //    Enable NetBSD compatibility extensions on Minix.
  2909  // Enable OpenBSD compatibility extensions on NetBSD.
  2910  //    Oddly enough, this does nothing on OpenBSD.
  2911  // Define to 1 if needed for POSIX-compatible behavior.
  2912  // # undef _POSIX_SOURCE
  2913  // Define to 2 if needed for POSIX-compatible behavior.
  2914  // # undef _POSIX_1_SOURCE
  2915  // Enable POSIX-compatible threading on Solaris.
  2916  // Enable extensions specified by ISO/IEC TS 18661-5:2014.
  2917  // Enable extensions specified by ISO/IEC TS 18661-1:2014.
  2918  // Enable extensions specified by ISO/IEC TS 18661-2:2015.
  2919  // Enable extensions specified by ISO/IEC TS 18661-4:2015.
  2920  // Enable extensions specified by ISO/IEC TS 18661-3:2015.
  2921  // Enable extensions specified by ISO/IEC TR 24731-2:2010.
  2922  // Enable extensions specified by ISO/IEC 24747:2009.
  2923  // Enable extensions on HP NonStop.
  2924  // Enable X/Open extensions.  Define to 500 only if necessary
  2925  //    to make mbstate_t available.
  2926  // # undef _XOPEN_SOURCE
  2927  
  2928  // Version number of package
  2929  
  2930  // Define to empty if `const' does not conform to ANSI C.
  2931  // #undef const
  2932  
  2933  // Define to the type of a signed integer type of width exactly 64 bits if
  2934  //    such a type exists and the standard includes do not define it.
  2935  // #undef int64_t
  2936  
  2937  // Define to `unsigned int' if <sys/types.h> does not define.
  2938  // #undef size_t
  2939  
  2940  // ************************************************
  2941  //
  2942  //      Perl-Compatible Regular Expressions       *
  2943  //
  2944  
  2945  // PCRE2 is a library of functions to support regular expressions whose syntax
  2946  // and semantics are as close as possible to those of the Perl 5 language.
  2947  //
  2948  //                        Written by Philip Hazel
  2949  //      Original API code Copyright (c) 1997-2012 University of Cambridge
  2950  //           New API code Copyright (c) 2016-2022 University of Cambridge
  2951  //
  2952  // -----------------------------------------------------------------------------
  2953  // Redistribution and use in source and binary forms, with or without
  2954  // modification, are permitted provided that the following conditions are met:
  2955  //
  2956  //     * Redistributions of source code must retain the above copyright notice,
  2957  //       this list of conditions and the following disclaimer.
  2958  //
  2959  //     * Redistributions in binary form must reproduce the above copyright
  2960  //       notice, this list of conditions and the following disclaimer in the
  2961  //       documentation and/or other materials provided with the distribution.
  2962  //
  2963  //     * Neither the name of the University of Cambridge nor the names of its
  2964  //       contributors may be used to endorse or promote products derived from
  2965  //       this software without specific prior written permission.
  2966  //
  2967  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  2968  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2969  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2970  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  2971  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2972  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2973  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  2974  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  2975  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2976  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  2977  // POSSIBILITY OF SUCH DAMAGE.
  2978  // -----------------------------------------------------------------------------
  2979  
  2980  // We do not support both EBCDIC and Unicode at the same time. The "configure"
  2981  // script prevents both being selected, but not everybody uses "configure". EBCDIC
  2982  // is only supported for the 8-bit library, but the check for this has to be later
  2983  // in this file, because the first part is not width-dependent, and is included by
  2984  // pcre2test.c with CODE_UNIT_WIDTH == 0.
  2985  
  2986  // Standard C headers
  2987  
  2988  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  2989  //    This file is part of the GNU C Library.
  2990  //
  2991  //    The GNU C Library is free software; you can redistribute it and/or
  2992  //    modify it under the terms of the GNU Lesser General Public
  2993  //    License as published by the Free Software Foundation; either
  2994  //    version 2.1 of the License, or (at your option) any later version.
  2995  //
  2996  //    The GNU C Library is distributed in the hope that it will be useful,
  2997  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  2998  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  2999  //    Lesser General Public License for more details.
  3000  //
  3001  //    You should have received a copy of the GNU Lesser General Public
  3002  //    License along with the GNU C Library; if not, see
  3003  //    <https://www.gnu.org/licenses/>.
  3004  
  3005  //	ISO C99 Standard 7.4: Character handling	<ctype.h>
  3006  
  3007  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  3008  //    This file is part of the GNU C Library.
  3009  //
  3010  //    The GNU C Library is free software; you can redistribute it and/or
  3011  //    modify it under the terms of the GNU Lesser General Public
  3012  //    License as published by the Free Software Foundation; either
  3013  //    version 2.1 of the License, or (at your option) any later version.
  3014  //
  3015  //    The GNU C Library is distributed in the hope that it will be useful,
  3016  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3017  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3018  //    Lesser General Public License for more details.
  3019  //
  3020  //    You should have received a copy of the GNU Lesser General Public
  3021  //    License along with the GNU C Library; if not, see
  3022  //    <https://www.gnu.org/licenses/>.
  3023  
  3024  // These are defined by the user (or the compiler)
  3025  //    to specify the desired environment:
  3026  //
  3027  //    __STRICT_ANSI__	ISO Standard C.
  3028  //    _ISOC99_SOURCE	Extensions to ISO C89 from ISO C99.
  3029  //    _ISOC11_SOURCE	Extensions to ISO C99 from ISO C11.
  3030  //    _ISOC2X_SOURCE	Extensions to ISO C99 from ISO C2X.
  3031  //    __STDC_WANT_LIB_EXT2__
  3032  // 			Extensions to ISO C99 from TR 27431-2:2010.
  3033  //    __STDC_WANT_IEC_60559_BFP_EXT__
  3034  // 			Extensions to ISO C11 from TS 18661-1:2014.
  3035  //    __STDC_WANT_IEC_60559_FUNCS_EXT__
  3036  // 			Extensions to ISO C11 from TS 18661-4:2015.
  3037  //    __STDC_WANT_IEC_60559_TYPES_EXT__
  3038  // 			Extensions to ISO C11 from TS 18661-3:2015.
  3039  //    __STDC_WANT_IEC_60559_EXT__
  3040  // 			ISO C2X interfaces defined only in Annex F.
  3041  //
  3042  //    _POSIX_SOURCE	IEEE Std 1003.1.
  3043  //    _POSIX_C_SOURCE	If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
  3044  // 			if >=199309L, add IEEE Std 1003.1b-1993;
  3045  // 			if >=199506L, add IEEE Std 1003.1c-1995;
  3046  // 			if >=200112L, all of IEEE 1003.1-2004
  3047  // 			if >=200809L, all of IEEE 1003.1-2008
  3048  //    _XOPEN_SOURCE	Includes POSIX and XPG things.  Set to 500 if
  3049  // 			Single Unix conformance is wanted, to 600 for the
  3050  // 			sixth revision, to 700 for the seventh revision.
  3051  //    _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
  3052  //    _LARGEFILE_SOURCE	Some more functions for correct standard I/O.
  3053  //    _LARGEFILE64_SOURCE	Additional functionality from LFS for large files.
  3054  //    _FILE_OFFSET_BITS=N	Select default filesystem interface.
  3055  //    _ATFILE_SOURCE	Additional *at interfaces.
  3056  //    _DYNAMIC_STACK_SIZE_SOURCE Select correct (but non compile-time constant)
  3057  // 			MINSIGSTKSZ, SIGSTKSZ and PTHREAD_STACK_MIN.
  3058  //    _GNU_SOURCE		All of the above, plus GNU extensions.
  3059  //    _DEFAULT_SOURCE	The default set of features (taking precedence over
  3060  // 			__STRICT_ANSI__).
  3061  //
  3062  //    _FORTIFY_SOURCE	Add security hardening to many library functions.
  3063  // 			Set to 1 or 2; 2 performs stricter checks than 1.
  3064  //
  3065  //    _REENTRANT, _THREAD_SAFE
  3066  // 			Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
  3067  //
  3068  //    The `-ansi' switch to the GNU C compiler, and standards conformance
  3069  //    options such as `-std=c99', define __STRICT_ANSI__.  If none of
  3070  //    these are defined, or if _DEFAULT_SOURCE is defined, the default is
  3071  //    to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
  3072  //    200809L, as well as enabling miscellaneous functions from BSD and
  3073  //    SVID.  If more than one of these are defined, they accumulate.  For
  3074  //    example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
  3075  //    give you ISO C, 1003.1, and 1003.2, but nothing else.
  3076  //
  3077  //    These are defined by this file and are used by the
  3078  //    header files to decide what to declare or define:
  3079  //
  3080  //    __GLIBC_USE (F)	Define things from feature set F.  This is defined
  3081  // 			to 1 or 0; the subsequent macros are either defined
  3082  // 			or undefined, and those tests should be moved to
  3083  // 			__GLIBC_USE.
  3084  //    __USE_ISOC11		Define ISO C11 things.
  3085  //    __USE_ISOC99		Define ISO C99 things.
  3086  //    __USE_ISOC95		Define ISO C90 AMD1 (C95) things.
  3087  //    __USE_ISOCXX11	Define ISO C++11 things.
  3088  //    __USE_POSIX		Define IEEE Std 1003.1 things.
  3089  //    __USE_POSIX2		Define IEEE Std 1003.2 things.
  3090  //    __USE_POSIX199309	Define IEEE Std 1003.1, and .1b things.
  3091  //    __USE_POSIX199506	Define IEEE Std 1003.1, .1b, .1c and .1i things.
  3092  //    __USE_XOPEN		Define XPG things.
  3093  //    __USE_XOPEN_EXTENDED	Define X/Open Unix things.
  3094  //    __USE_UNIX98		Define Single Unix V2 things.
  3095  //    __USE_XOPEN2K        Define XPG6 things.
  3096  //    __USE_XOPEN2KXSI     Define XPG6 XSI things.
  3097  //    __USE_XOPEN2K8       Define XPG7 things.
  3098  //    __USE_XOPEN2K8XSI    Define XPG7 XSI things.
  3099  //    __USE_LARGEFILE	Define correct standard I/O things.
  3100  //    __USE_LARGEFILE64	Define LFS things with separate names.
  3101  //    __USE_FILE_OFFSET64	Define 64bit interface as default.
  3102  //    __USE_MISC		Define things from 4.3BSD or System V Unix.
  3103  //    __USE_ATFILE		Define *at interfaces and AT_* constants for them.
  3104  //    __USE_DYNAMIC_STACK_SIZE Define correct (but non compile-time constant)
  3105  // 			MINSIGSTKSZ, SIGSTKSZ and PTHREAD_STACK_MIN.
  3106  //    __USE_GNU		Define GNU extensions.
  3107  //    __USE_FORTIFY_LEVEL	Additional security measures used, according to level.
  3108  //
  3109  //    The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
  3110  //    defined by this file unconditionally.  `__GNU_LIBRARY__' is provided
  3111  //    only for compatibility.  All new code should use the other symbols
  3112  //    to test for features.
  3113  //
  3114  //    All macros listed above as possibly being defined by this file are
  3115  //    explicitly undefined if they are not explicitly defined.
  3116  //    Feature-test macros that are not defined by the user or compiler
  3117  //    but are implied by the other feature-test macros defined (or by the
  3118  //    lack of any definitions) are defined by the file.
  3119  //
  3120  //    ISO C feature test macros depend on the definition of the macro
  3121  //    when an affected header is included, not when the first system
  3122  //    header is included, and so they are handled in
  3123  //    <bits/libc-header-start.h>, which does not have a multiple include
  3124  //    guard.  Feature test macros that can be handled from the first
  3125  //    system header included are handled here.
  3126  
  3127  // Undefine everything, so we get a clean slate.
  3128  
  3129  // Suppress kernel-name space pollution unless user expressedly asks
  3130  //    for it.
  3131  
  3132  // Convenience macro to test the version of gcc.
  3133  //    Use like this:
  3134  //    #if __GNUC_PREREQ (2,8)
  3135  //    ... code requiring gcc 2.8 or later ...
  3136  //    #endif
  3137  //    Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
  3138  //    added in 2.0.
  3139  
  3140  // Similarly for clang.  Features added to GCC after version 4.2 may
  3141  //    or may not also be available in clang, and clang's definitions of
  3142  //    __GNUC(_MINOR)__ are fixed at 4 and 2 respectively.  Not all such
  3143  //    features can be queried via __has_extension/__has_feature.
  3144  
  3145  // Whether to use feature set F.
  3146  
  3147  // _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
  3148  //    _DEFAULT_SOURCE.  If _DEFAULT_SOURCE is present we do not
  3149  //    issue a warning; the expectation is that the source is being
  3150  //    transitioned to use the new macro.
  3151  
  3152  // If _GNU_SOURCE was defined by the user, turn on all the other features.
  3153  
  3154  // If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
  3155  //    define _DEFAULT_SOURCE.
  3156  
  3157  // This is to enable the ISO C2X extension.
  3158  
  3159  // This is to enable the ISO C11 extension.
  3160  
  3161  // This is to enable the ISO C99 extension.
  3162  
  3163  // This is to enable the ISO C90 Amendment 1:1995 extension.
  3164  
  3165  // If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
  3166  //    is defined, use POSIX.1-2008 (or another version depending on
  3167  //    _XOPEN_SOURCE).
  3168  
  3169  // Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
  3170  //    defined in all multithreaded code.  GNU libc has not required this
  3171  //    for many years.  We now treat them as compatibility synonyms for
  3172  //    _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
  3173  //    comprehensive support for multithreaded code.  Using them never
  3174  //    lowers the selected level of POSIX conformance, only raises it.
  3175  
  3176  // Features part to handle 64-bit time_t support.
  3177  //    Copyright (C) 2021-2022 Free Software Foundation, Inc.
  3178  //    This file is part of the GNU C Library.
  3179  //
  3180  //    The GNU C Library is free software; you can redistribute it and/or
  3181  //    modify it under the terms of the GNU Lesser General Public
  3182  //    License as published by the Free Software Foundation; either
  3183  //    version 2.1 of the License, or (at your option) any later version.
  3184  //
  3185  //    The GNU C Library is distributed in the hope that it will be useful,
  3186  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3187  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3188  //    Lesser General Public License for more details.
  3189  //
  3190  //    You should have received a copy of the GNU Lesser General Public
  3191  //    License along with the GNU C Library; if not, see
  3192  //    <https://www.gnu.org/licenses/>.
  3193  
  3194  // We need to know the word size in order to check the time size.
  3195  // Determine the wordsize from the preprocessor defines.
  3196  
  3197  // Both x86-64 and x32 use the 64-bit system call interface.
  3198  // Bit size of the time_t type at glibc build time, x86-64 and x32 case.
  3199  //    Copyright (C) 2018-2022 Free Software Foundation, Inc.
  3200  //    This file is part of the GNU C Library.
  3201  //
  3202  //    The GNU C Library is free software; you can redistribute it and/or
  3203  //    modify it under the terms of the GNU Lesser General Public
  3204  //    License as published by the Free Software Foundation; either
  3205  //    version 2.1 of the License, or (at your option) any later version.
  3206  //
  3207  //    The GNU C Library is distributed in the hope that it will be useful,
  3208  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3209  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3210  //    Lesser General Public License for more details.
  3211  //
  3212  //    You should have received a copy of the GNU Lesser General Public
  3213  //    License along with the GNU C Library; if not, see
  3214  //    <https://www.gnu.org/licenses/>.
  3215  
  3216  // Determine the wordsize from the preprocessor defines.
  3217  
  3218  // Both x86-64 and x32 use the 64-bit system call interface.
  3219  
  3220  // For others, time size is word size.
  3221  
  3222  // The function 'gets' existed in C89, but is impossible to use
  3223  //    safely.  It has been removed from ISO C11 and ISO C++14.  Note: for
  3224  //    compatibility with various implementations of <cstdio>, this test
  3225  //    must consider only the value of __cplusplus when compiling C++.
  3226  
  3227  // GNU formerly extended the scanf functions with modified format
  3228  //    specifiers %as, %aS, and %a[...] that allocate a buffer for the
  3229  //    input using malloc.  This extension conflicts with ISO C99, which
  3230  //    defines %a as a standalone format specifier that reads a floating-
  3231  //    point number; moreover, POSIX.1-2008 provides the same feature
  3232  //    using the modifier letter 'm' instead (%ms, %mS, %m[...]).
  3233  //
  3234  //    We now follow C99 unless GNU extensions are active and the compiler
  3235  //    is specifically in C89 or C++98 mode (strict or not).  For
  3236  //    instance, with GCC, -std=gnu11 will have C99-compliant scanf with
  3237  //    or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
  3238  //    old extension.
  3239  
  3240  // Get definitions of __STDC_* predefined macros, if the compiler has
  3241  //    not preincluded this header automatically.
  3242  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  3243  //    This file is part of the GNU C Library.
  3244  //
  3245  //    The GNU C Library is free software; you can redistribute it and/or
  3246  //    modify it under the terms of the GNU Lesser General Public
  3247  //    License as published by the Free Software Foundation; either
  3248  //    version 2.1 of the License, or (at your option) any later version.
  3249  //
  3250  //    The GNU C Library is distributed in the hope that it will be useful,
  3251  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3252  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3253  //    Lesser General Public License for more details.
  3254  //
  3255  //    You should have received a copy of the GNU Lesser General Public
  3256  //    License along with the GNU C Library; if not, see
  3257  //    <https://www.gnu.org/licenses/>.
  3258  
  3259  // This macro indicates that the installed library is the GNU C Library.
  3260  //    For historic reasons the value now is 6 and this will stay from now
  3261  //    on.  The use of this variable is deprecated.  Use __GLIBC__ and
  3262  //    __GLIBC_MINOR__ now (see below) when you want to test for a specific
  3263  //    GNU C library version and use the values in <gnu/lib-names.h> to get
  3264  //    the sonames of the shared libraries.
  3265  
  3266  // Major and minor version number of the GNU C library package.  Use
  3267  //    these macros to test for features in specific releases.
  3268  
  3269  // This is here only because every header file already includes this one.
  3270  // Copyright (C) 1992-2022 Free Software Foundation, Inc.
  3271  //    Copyright The GNU Toolchain Authors.
  3272  //    This file is part of the GNU C Library.
  3273  //
  3274  //    The GNU C Library is free software; you can redistribute it and/or
  3275  //    modify it under the terms of the GNU Lesser General Public
  3276  //    License as published by the Free Software Foundation; either
  3277  //    version 2.1 of the License, or (at your option) any later version.
  3278  //
  3279  //    The GNU C Library is distributed in the hope that it will be useful,
  3280  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3281  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3282  //    Lesser General Public License for more details.
  3283  //
  3284  //    You should have received a copy of the GNU Lesser General Public
  3285  //    License along with the GNU C Library; if not, see
  3286  //    <https://www.gnu.org/licenses/>.
  3287  
  3288  // We are almost always included from features.h.
  3289  
  3290  // The GNU libc does not support any K&R compilers or the traditional mode
  3291  //    of ISO C compilers anymore.  Check for some of the combinations not
  3292  //    supported anymore.
  3293  
  3294  // Some user header file might have defined this before.
  3295  
  3296  // Compilers that lack __has_attribute may object to
  3297  //        #if defined __has_attribute && __has_attribute (...)
  3298  //    even though they do not need to evaluate the right-hand side of the &&.
  3299  //    Similarly for __has_builtin, etc.
  3300  
  3301  // All functions, except those with callbacks or those that
  3302  //    synchronize memory, are leaf functions.
  3303  
  3304  // GCC can always grok prototypes.  For C++ programs we add throw()
  3305  //    to help it optimize the function calls.  But this only works with
  3306  //    gcc 2.8.x and egcs.  For gcc 3.4 and up we even mark C functions
  3307  //    as non-throwing using a function attribute since programs can use
  3308  //    the -fexceptions options for C code as well.
  3309  
  3310  // These two macros are not used in glibc anymore.  They are kept here
  3311  //    only because some other projects expect the macros to be defined.
  3312  
  3313  // For these things, GCC behaves the ANSI way normally,
  3314  //    and the non-ANSI way under -traditional.
  3315  
  3316  // This is not a typedef so `const __ptr_t' does the right thing.
  3317  
  3318  // C++ needs to know that types and declarations are C, not C++.
  3319  
  3320  // Fortify support.
  3321  
  3322  // Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available.
  3323  
  3324  // Compile time conditions to choose between the regular, _chk and _chk_warn
  3325  //    variants.  These conditions should get evaluated to constant and optimized
  3326  //    away.
  3327  
  3328  // Length is known to be safe at compile time if the __L * __S <= __OBJSZ
  3329  //    condition can be folded to a constant and if it is true.  The -1 check is
  3330  //    redundant because since it implies that __glibc_safe_len_cond is true.
  3331  
  3332  // Conversely, we know at compile time that the length is unsafe if the
  3333  //    __L * __S <= __OBJSZ condition can be folded to a constant and if it is
  3334  //    false.
  3335  
  3336  // Fortify function f.  __f_alias, __f_chk and __f_chk_warn must be
  3337  //    declared.
  3338  
  3339  // Fortify function f, where object size argument passed to f is the number of
  3340  //    elements and not total size.
  3341  
  3342  // Support for flexible arrays.
  3343  //    Headers that should use flexible arrays only if they're "real"
  3344  //    (e.g. only if they won't affect sizeof()) should test
  3345  //    #if __glibc_c99_flexarr_available.
  3346  
  3347  // __asm__ ("xyz") is used throughout the headers to rename functions
  3348  //    at the assembly language level.  This is wrapped by the __REDIRECT
  3349  //    macro, in order to support compilers that can do this some other
  3350  //    way.  When compilers don't support asm-names at all, we have to do
  3351  //    preprocessor tricks instead (which don't have exactly the right
  3352  //    semantics, but it's the best we can do).
  3353  //
  3354  //    Example:
  3355  //    int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
  3356  
  3357  //
  3358  // #elif __SOME_OTHER_COMPILER__
  3359  //
  3360  // # define __REDIRECT(name, proto, alias) name proto; 	_Pragma("let " #name " = " #alias)
  3361  
  3362  // GCC and clang have various useful declarations that can be made with
  3363  //    the '__attribute__' syntax.  All of the ways we use this do fine if
  3364  //    they are omitted for compilers that don't understand it.
  3365  
  3366  // At some point during the gcc 2.96 development the `malloc' attribute
  3367  //    for functions was introduced.  We don't want to use it unconditionally
  3368  //    (although this would be possible) since it generates warnings.
  3369  
  3370  // Tell the compiler which arguments to an allocation function
  3371  //    indicate the size of the allocation.
  3372  
  3373  // Tell the compiler which argument to an allocation function
  3374  //    indicates the alignment of the allocation.
  3375  
  3376  // At some point during the gcc 2.96 development the `pure' attribute
  3377  //    for functions was introduced.  We don't want to use it unconditionally
  3378  //    (although this would be possible) since it generates warnings.
  3379  
  3380  // This declaration tells the compiler that the value is constant.
  3381  
  3382  // At some point during the gcc 3.1 development the `used' attribute
  3383  //    for functions was introduced.  We don't want to use it unconditionally
  3384  //    (although this would be possible) since it generates warnings.
  3385  
  3386  // Since version 3.2, gcc allows marking deprecated functions.
  3387  
  3388  // Since version 4.5, gcc also allows one to specify the message printed
  3389  //    when a deprecated function is used.  clang claims to be gcc 4.2, but
  3390  //    may also support this feature.
  3391  
  3392  // At some point during the gcc 2.8 development the `format_arg' attribute
  3393  //    for functions was introduced.  We don't want to use it unconditionally
  3394  //    (although this would be possible) since it generates warnings.
  3395  //    If several `format_arg' attributes are given for the same function, in
  3396  //    gcc-3.0 and older, all but the last one are ignored.  In newer gccs,
  3397  //    all designated arguments are considered.
  3398  
  3399  // At some point during the gcc 2.97 development the `strfmon' format
  3400  //    attribute for functions was introduced.  We don't want to use it
  3401  //    unconditionally (although this would be possible) since it
  3402  //    generates warnings.
  3403  
  3404  // The nonnull function attribute marks pointer parameters that
  3405  //    must not be NULL.  This has the name __nonnull in glibc,
  3406  //    and __attribute_nonnull__ in files shared with Gnulib to avoid
  3407  //    collision with a different __nonnull in DragonFlyBSD 5.9.
  3408  
  3409  // The returns_nonnull function attribute marks the return type of the function
  3410  //    as always being non-null.
  3411  
  3412  // If fortification mode, we warn about unused results of certain
  3413  //    function calls which can lead to problems.
  3414  
  3415  // Forces a function to be always inlined.
  3416  // The Linux kernel defines __always_inline in stddef.h (283d7573), and
  3417  //    it conflicts with this definition.  Therefore undefine it first to
  3418  //    allow either header to be included first.
  3419  
  3420  // Associate error messages with the source location of the call site rather
  3421  //    than with the source location inside the function.
  3422  
  3423  // GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
  3424  //    inline semantics, unless -fgnu89-inline is used.  Using __GNUC_STDC_INLINE__
  3425  //    or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
  3426  //    older than 4.3 may define these macros and still not guarantee GNU inlining
  3427  //    semantics.
  3428  //
  3429  //    clang++ identifies itself as gcc-4.2, but has support for GNU inlining
  3430  //    semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
  3431  //    __GNUC_GNU_INLINE__ macro definitions.
  3432  
  3433  // GCC 4.3 and above allow passing all anonymous arguments of an
  3434  //    __extern_always_inline function to some other vararg function.
  3435  
  3436  // It is possible to compile containing GCC extensions even if GCC is
  3437  //    run in pedantic mode if the uses are carefully marked using the
  3438  //    `__extension__' keyword.  But this is not generally available before
  3439  //    version 2.8.
  3440  
  3441  // __restrict is known in EGCS 1.2 and above, and in clang.
  3442  //    It works also in C++ mode (outside of arrays), but only when spelled
  3443  //    as '__restrict', not 'restrict'.
  3444  
  3445  // ISO C99 also allows to declare arrays as non-overlapping.  The syntax is
  3446  //      array_name[restrict]
  3447  //    GCC 3.1 and clang support this.
  3448  //    This syntax is not usable in C++ mode.
  3449  
  3450  // Describes a char array whose address can safely be passed as the first
  3451  //    argument to strncpy and strncat, as the char array is not necessarily
  3452  //    a NUL-terminated string.
  3453  
  3454  // Undefine (also defined in libc-symbols.h).
  3455  // Copies attributes from the declaration or type referenced by
  3456  //    the argument.
  3457  
  3458  // Gnulib avoids including these, as they don't work on non-glibc or
  3459  //    older glibc platforms.
  3460  // Determine the wordsize from the preprocessor defines.
  3461  
  3462  // Both x86-64 and x32 use the 64-bit system call interface.
  3463  // Properties of long double type.  ldbl-96 version.
  3464  //    Copyright (C) 2016-2022 Free Software Foundation, Inc.
  3465  //    This file is part of the GNU C Library.
  3466  //
  3467  //    The GNU C Library is free software; you can redistribute it and/or
  3468  //    modify it under the terms of the GNU Lesser General Public
  3469  //    License  published by the Free Software Foundation; either
  3470  //    version 2.1 of the License, or (at your option) any later version.
  3471  //
  3472  //    The GNU C Library is distributed in the hope that it will be useful,
  3473  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3474  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3475  //    Lesser General Public License for more details.
  3476  //
  3477  //    You should have received a copy of the GNU Lesser General Public
  3478  //    License along with the GNU C Library; if not, see
  3479  //    <https://www.gnu.org/licenses/>.
  3480  
  3481  // long double is distinct from double, so there is nothing to
  3482  //    define here.
  3483  
  3484  // __glibc_macro_warning (MESSAGE) issues warning MESSAGE.  This is
  3485  //    intended for use in preprocessor macros.
  3486  //
  3487  //    Note: MESSAGE must be a _single_ string; concatenation of string
  3488  //    literals is not supported.
  3489  
  3490  // Generic selection (ISO C11) is a C-only feature, available in GCC
  3491  //    since version 4.9.  Previous versions do not provide generic
  3492  //    selection, even though they might set __STDC_VERSION__ to 201112L,
  3493  //    when in -std=c11 mode.  Thus, we must check for !defined __GNUC__
  3494  //    when testing __STDC_VERSION__ for generic selection support.
  3495  //    On the other hand, Clang also defines __GNUC__, so a clang-specific
  3496  //    check is required to enable the use of generic selection.
  3497  
  3498  // Designates a 1-based positional argument ref-index of pointer type
  3499  //    that can be used to access size-index elements of the pointed-to
  3500  //    array according to access mode, or at least one element when
  3501  //    size-index is not provided:
  3502  //      access (access-mode, <ref-index> [, <size-index>])
  3503  // For _FORTIFY_SOURCE == 3 we use __builtin_dynamic_object_size, which may
  3504  //    use the access attribute to get object sizes from function definition
  3505  //    arguments, so we can't use them on functions we fortify.  Drop the object
  3506  //    size hints for such functions.
  3507  
  3508  // Designates dealloc as a function to call to deallocate objects
  3509  //    allocated by the declared function.
  3510  
  3511  // Specify that a function such as setjmp or vfork may return
  3512  //    twice.
  3513  
  3514  // If we don't have __REDIRECT, prototypes will be missing if
  3515  //    __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
  3516  
  3517  // Decide whether we can define 'extern inline' functions in headers.
  3518  
  3519  // This is here only because every header file already includes this one.
  3520  //    Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
  3521  //    <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
  3522  //    that will always return failure (and set errno to ENOSYS).
  3523  // This file is automatically generated.
  3524  //    This file selects the right generated file of `__stub_FUNCTION' macros
  3525  //    based on the architecture being compiled for.
  3526  
  3527  // This file is automatically generated.
  3528  //    It defines a symbol `__stub_FUNCTION' for each function
  3529  //    in the C library which is a stub, meaning it will fail
  3530  //    every time called, usually setting errno to ENOSYS.
  3531  
  3532  // bits/types.h -- definitions of __*_t types underlying *_t types.
  3533  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  3534  //    This file is part of the GNU C Library.
  3535  //
  3536  //    The GNU C Library is free software; you can redistribute it and/or
  3537  //    modify it under the terms of the GNU Lesser General Public
  3538  //    License as published by the Free Software Foundation; either
  3539  //    version 2.1 of the License, or (at your option) any later version.
  3540  //
  3541  //    The GNU C Library is distributed in the hope that it will be useful,
  3542  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3543  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3544  //    Lesser General Public License for more details.
  3545  //
  3546  //    You should have received a copy of the GNU Lesser General Public
  3547  //    License along with the GNU C Library; if not, see
  3548  //    <https://www.gnu.org/licenses/>.
  3549  
  3550  // Never include this file directly; use <sys/types.h> instead.
  3551  
  3552  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  3553  //    This file is part of the GNU C Library.
  3554  //
  3555  //    The GNU C Library is free software; you can redistribute it and/or
  3556  //    modify it under the terms of the GNU Lesser General Public
  3557  //    License as published by the Free Software Foundation; either
  3558  //    version 2.1 of the License, or (at your option) any later version.
  3559  //
  3560  //    The GNU C Library is distributed in the hope that it will be useful,
  3561  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3562  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3563  //    Lesser General Public License for more details.
  3564  //
  3565  //    You should have received a copy of the GNU Lesser General Public
  3566  //    License along with the GNU C Library; if not, see
  3567  //    <https://www.gnu.org/licenses/>.
  3568  
  3569  // Determine the wordsize from the preprocessor defines.
  3570  
  3571  // Both x86-64 and x32 use the 64-bit system call interface.
  3572  // Bit size of the time_t type at glibc build time, x86-64 and x32 case.
  3573  //    Copyright (C) 2018-2022 Free Software Foundation, Inc.
  3574  //    This file is part of the GNU C Library.
  3575  //
  3576  //    The GNU C Library is free software; you can redistribute it and/or
  3577  //    modify it under the terms of the GNU Lesser General Public
  3578  //    License as published by the Free Software Foundation; either
  3579  //    version 2.1 of the License, or (at your option) any later version.
  3580  //
  3581  //    The GNU C Library is distributed in the hope that it will be useful,
  3582  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3583  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3584  //    Lesser General Public License for more details.
  3585  //
  3586  //    You should have received a copy of the GNU Lesser General Public
  3587  //    License along with the GNU C Library; if not, see
  3588  //    <https://www.gnu.org/licenses/>.
  3589  
  3590  // Determine the wordsize from the preprocessor defines.
  3591  
  3592  // Both x86-64 and x32 use the 64-bit system call interface.
  3593  
  3594  // For others, time size is word size.
  3595  
  3596  // Convenience types.
  3597  type T__u_char = uint8   /* types.h:31:23 */
  3598  type T__u_short = uint16 /* types.h:32:28 */
  3599  type T__u_int = uint32   /* types.h:33:22 */
  3600  type T__u_long = uint64  /* types.h:34:27 */
  3601  
  3602  // Fixed-size types, underlying types depend on word size and compiler.
  3603  type T__int8_t = int8     /* types.h:37:21 */
  3604  type T__uint8_t = uint8   /* types.h:38:23 */
  3605  type T__int16_t = int16   /* types.h:39:26 */
  3606  type T__uint16_t = uint16 /* types.h:40:28 */
  3607  type T__int32_t = int32   /* types.h:41:20 */
  3608  type T__uint32_t = uint32 /* types.h:42:22 */
  3609  type T__int64_t = int64   /* types.h:44:25 */
  3610  type T__uint64_t = uint64 /* types.h:45:27 */
  3611  
  3612  // Smallest types with at least a given width.
  3613  type T__int_least8_t = T__int8_t     /* types.h:52:18 */
  3614  type T__uint_least8_t = T__uint8_t   /* types.h:53:19 */
  3615  type T__int_least16_t = T__int16_t   /* types.h:54:19 */
  3616  type T__uint_least16_t = T__uint16_t /* types.h:55:20 */
  3617  type T__int_least32_t = T__int32_t   /* types.h:56:19 */
  3618  type T__uint_least32_t = T__uint32_t /* types.h:57:20 */
  3619  type T__int_least64_t = T__int64_t   /* types.h:58:19 */
  3620  type T__uint_least64_t = T__uint64_t /* types.h:59:20 */
  3621  
  3622  // quad_t is also 64 bits.
  3623  type T__quad_t = int64    /* types.h:63:18 */
  3624  type T__u_quad_t = uint64 /* types.h:64:27 */
  3625  
  3626  // Largest integral types.
  3627  type T__intmax_t = int64   /* types.h:72:18 */
  3628  type T__uintmax_t = uint64 /* types.h:73:27 */
  3629  
  3630  // The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
  3631  //    macros for each of the OS types we define below.  The definitions
  3632  //    of those macros must use the following macros for underlying types.
  3633  //    We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
  3634  //    variants of each of the following integer types on this machine.
  3635  //
  3636  // 	16		-- "natural" 16-bit type (always short)
  3637  // 	32		-- "natural" 32-bit type (always int)
  3638  // 	64		-- "natural" 64-bit type (long or long long)
  3639  // 	LONG32		-- 32-bit type, traditionally long
  3640  // 	QUAD		-- 64-bit type, traditionally long long
  3641  // 	WORD		-- natural type of __WORDSIZE bits (int or long)
  3642  // 	LONGWORD	-- type of __WORDSIZE bits, traditionally long
  3643  //
  3644  //    We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
  3645  //    conventional uses of `long' or `long long' type modifiers match the
  3646  //    types we define, even when a less-adorned type would be the same size.
  3647  //    This matters for (somewhat) portably writing printf/scanf formats for
  3648  //    these types, where using the appropriate l or ll format modifiers can
  3649  //    make the typedefs and the formats match up across all GNU platforms.  If
  3650  //    we used `long' when it's 64 bits where `long long' is expected, then the
  3651  //    compiler would warn about the formats not matching the argument types,
  3652  //    and the programmer changing them to shut up the compiler would break the
  3653  //    program's portability.
  3654  //
  3655  //    Here we assume what is presently the case in all the GCC configurations
  3656  //    we support: long long is always 64 bits, long is always word/address size,
  3657  //    and int is always 32 bits.
  3658  
  3659  // No need to mark the typedef with __extension__.
  3660  // bits/typesizes.h -- underlying types for *_t.  Linux/x86-64 version.
  3661  //    Copyright (C) 2012-2022 Free Software Foundation, Inc.
  3662  //    This file is part of the GNU C Library.
  3663  //
  3664  //    The GNU C Library is free software; you can redistribute it and/or
  3665  //    modify it under the terms of the GNU Lesser General Public
  3666  //    License as published by the Free Software Foundation; either
  3667  //    version 2.1 of the License, or (at your option) any later version.
  3668  //
  3669  //    The GNU C Library is distributed in the hope that it will be useful,
  3670  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3671  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3672  //    Lesser General Public License for more details.
  3673  //
  3674  //    You should have received a copy of the GNU Lesser General Public
  3675  //    License along with the GNU C Library; if not, see
  3676  //    <https://www.gnu.org/licenses/>.
  3677  
  3678  // See <bits/types.h> for the meaning of these macros.  This file exists so
  3679  //    that <bits/types.h> need not vary across different GNU platforms.
  3680  
  3681  // X32 kernel interface is 64-bit.
  3682  
  3683  // Tell the libc code that off_t and off64_t are actually the same type
  3684  //    for all ABI purposes, even if possibly expressed as different base types
  3685  //    for C type-checking purposes.
  3686  
  3687  // Same for ino_t and ino64_t.
  3688  
  3689  // And for __rlim_t and __rlim64_t.
  3690  
  3691  // And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
  3692  
  3693  // And for getitimer, setitimer and rusage
  3694  
  3695  // Number of descriptors that can fit in an `fd_set'.
  3696  
  3697  // bits/time64.h -- underlying types for __time64_t.  Generic version.
  3698  //    Copyright (C) 2018-2022 Free Software Foundation, Inc.
  3699  //    This file is part of the GNU C Library.
  3700  //
  3701  //    The GNU C Library is free software; you can redistribute it and/or
  3702  //    modify it under the terms of the GNU Lesser General Public
  3703  //    License as published by the Free Software Foundation; either
  3704  //    version 2.1 of the License, or (at your option) any later version.
  3705  //
  3706  //    The GNU C Library is distributed in the hope that it will be useful,
  3707  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3708  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3709  //    Lesser General Public License for more details.
  3710  //
  3711  //    You should have received a copy of the GNU Lesser General Public
  3712  //    License along with the GNU C Library; if not, see
  3713  //    <https://www.gnu.org/licenses/>.
  3714  
  3715  // Define __TIME64_T_TYPE so that it is always a 64-bit type.
  3716  
  3717  // If we already have 64-bit time type then use it.
  3718  
  3719  type T__dev_t = uint64                     /* types.h:145:25 */ // Type of device numbers.
  3720  type T__uid_t = uint32                     /* types.h:146:25 */ // Type of user identifications.
  3721  type T__gid_t = uint32                     /* types.h:147:25 */ // Type of group identifications.
  3722  type T__ino_t = uint64                     /* types.h:148:25 */ // Type of file serial numbers.
  3723  type T__ino64_t = uint64                   /* types.h:149:27 */ // Type of file serial numbers (LFS).
  3724  type T__mode_t = uint32                    /* types.h:150:26 */ // Type of file attribute bitmasks.
  3725  type T__nlink_t = uint64                   /* types.h:151:27 */ // Type of file link counts.
  3726  type T__off_t = int64                      /* types.h:152:25 */ // Type of file sizes and offsets.
  3727  type T__off64_t = int64                    /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
  3728  type T__pid_t = int32                      /* types.h:154:25 */ // Type of process identifications.
  3729  type T__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
  3730  type T__clock_t = int64                    /* types.h:156:27 */ // Type of CPU usage counts.
  3731  type T__rlim_t = uint64                    /* types.h:157:26 */ // Type for resource measurement.
  3732  type T__rlim64_t = uint64                  /* types.h:158:28 */ // Type for resource measurement (LFS).
  3733  type T__id_t = uint32                      /* types.h:159:24 */ // General type for IDs.
  3734  type T__time_t = int64                     /* types.h:160:26 */ // Seconds since the Epoch.
  3735  type T__useconds_t = uint32                /* types.h:161:30 */ // Count of microseconds.
  3736  type T__suseconds_t = int64                /* types.h:162:31 */ // Signed count of microseconds.
  3737  type T__suseconds64_t = int64              /* types.h:163:33 */
  3738  
  3739  type T__daddr_t = int32 /* types.h:165:27 */ // The type of a disk address.
  3740  type T__key_t = int32   /* types.h:166:25 */ // Type of an IPC key.
  3741  
  3742  // Clock ID used in clock and timer functions.
  3743  type T__clockid_t = int32 /* types.h:169:29 */
  3744  
  3745  // Timer ID returned by `timer_create'.
  3746  type T__timer_t = uintptr /* types.h:172:12 */
  3747  
  3748  // Type to represent block size.
  3749  type T__blksize_t = int64 /* types.h:175:29 */
  3750  
  3751  // Types from the Large File Support interface.
  3752  
  3753  // Type to count number of disk blocks.
  3754  type T__blkcnt_t = int64   /* types.h:180:28 */
  3755  type T__blkcnt64_t = int64 /* types.h:181:30 */
  3756  
  3757  // Type to count file system blocks.
  3758  type T__fsblkcnt_t = uint64   /* types.h:184:30 */
  3759  type T__fsblkcnt64_t = uint64 /* types.h:185:32 */
  3760  
  3761  // Type to count file system nodes.
  3762  type T__fsfilcnt_t = uint64   /* types.h:188:30 */
  3763  type T__fsfilcnt64_t = uint64 /* types.h:189:32 */
  3764  
  3765  // Type of miscellaneous file system fields.
  3766  type T__fsword_t = int64 /* types.h:192:28 */
  3767  
  3768  type T__ssize_t = int64 /* types.h:194:27 */ // Type of a byte count, or error.
  3769  
  3770  // Signed long type used in system calls.
  3771  type T__syscall_slong_t = int64 /* types.h:197:33 */
  3772  // Unsigned long type used in system calls.
  3773  type T__syscall_ulong_t = uint64 /* types.h:199:33 */
  3774  
  3775  // These few don't really vary by system, they always correspond
  3776  //    to one of the other defined types.
  3777  type T__loff_t = T__off64_t /* types.h:203:19 */ // Type of file sizes and offsets (LFS).
  3778  type T__caddr_t = uintptr   /* types.h:204:14 */
  3779  
  3780  // Duplicates info from stdint.h but this is used in unistd.h.
  3781  type T__intptr_t = int64 /* types.h:207:25 */
  3782  
  3783  // Duplicate info from sys/socket.h.
  3784  type T__socklen_t = uint32 /* types.h:210:23 */
  3785  
  3786  // C99: An integer type that can be accessed as an atomic entity,
  3787  //    even in the presence of asynchronous interrupts.
  3788  //    It is not currently necessary for this to be machine-specific.
  3789  type T__sig_atomic_t = int32 /* types.h:215:13 */
  3790  
  3791  // This code is needed for the optimized mapping functions.
  3792  
  3793  // POSIX.1-2008 extended locale interface (see locale.h).
  3794  // Definition of locale_t.
  3795  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  3796  //    This file is part of the GNU C Library.
  3797  //
  3798  //    The GNU C Library is free software; you can redistribute it and/or
  3799  //    modify it under the terms of the GNU Lesser General Public
  3800  //    License as published by the Free Software Foundation; either
  3801  //    version 2.1 of the License, or (at your option) any later version.
  3802  //
  3803  //    The GNU C Library is distributed in the hope that it will be useful,
  3804  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3805  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3806  //    Lesser General Public License for more details.
  3807  //
  3808  //    You should have received a copy of the GNU Lesser General Public
  3809  //    License along with the GNU C Library; if not, see
  3810  //    <https://www.gnu.org/licenses/>.
  3811  
  3812  // Definition of struct __locale_struct and __locale_t.
  3813  //    Copyright (C) 1997-2022 Free Software Foundation, Inc.
  3814  //    This file is part of the GNU C Library.
  3815  //
  3816  //    The GNU C Library is free software; you can redistribute it and/or
  3817  //    modify it under the terms of the GNU Lesser General Public
  3818  //    License as published by the Free Software Foundation; either
  3819  //    version 2.1 of the License, or (at your option) any later version.
  3820  //
  3821  //    The GNU C Library is distributed in the hope that it will be useful,
  3822  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3823  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3824  //    Lesser General Public License for more details.
  3825  //
  3826  //    You should have received a copy of the GNU Lesser General Public
  3827  //    License along with the GNU C Library; if not, see
  3828  //    <https://www.gnu.org/licenses/>.
  3829  
  3830  // POSIX.1-2008: the locale_t type, representing a locale context
  3831  //    (implementation-namespace version).  This type should be treated
  3832  //    as opaque by applications; some details are exposed for the sake of
  3833  //    efficiency in e.g. ctype functions.
  3834  
  3835  type S__locale_struct = struct {
  3836  	F__locales       [13]uintptr
  3837  	F__ctype_b       uintptr
  3838  	F__ctype_tolower uintptr
  3839  	F__ctype_toupper uintptr
  3840  	F__names         [13]uintptr
  3841  } /* __locale_t.h:27:1 */
  3842  
  3843  type T__locale_t = uintptr /* __locale_t.h:41:32 */
  3844  
  3845  type Tlocale_t = T__locale_t /* locale_t.h:24:20 */
  3846  
  3847  // A null pointer constant.
  3848  
  3849  // Offset of member MEMBER in a struct of type TYPE.
  3850  
  3851  // Type whose alignment is supported in every context and is at least
  3852  //    as great as that of any standard type not using alignment
  3853  //    specifiers.
  3854  type Tmax_align_t = struct {
  3855  	F__max_align_ll int64
  3856  	F__max_align_ld float64
  3857  } /* stddef.h:426:3 */
  3858  
  3859  // Define ISO C stdio on top of C++ iostreams.
  3860  //    Copyright (C) 1991-2022 Free Software Foundation, Inc.
  3861  //    This file is part of the GNU C Library.
  3862  //
  3863  //    The GNU C Library is free software; you can redistribute it and/or
  3864  //    modify it under the terms of the GNU Lesser General Public
  3865  //    License as published by the Free Software Foundation; either
  3866  //    version 2.1 of the License, or (at your option) any later version.
  3867  //
  3868  //    The GNU C Library is distributed in the hope that it will be useful,
  3869  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3870  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3871  //    Lesser General Public License for more details.
  3872  //
  3873  //    You should have received a copy of the GNU Lesser General Public
  3874  //    License along with the GNU C Library; if not, see
  3875  //    <https://www.gnu.org/licenses/>.
  3876  
  3877  //	ISO C99 Standard: 7.19 Input/output	<stdio.h>
  3878  
  3879  // Handle feature test macros at the start of a header.
  3880  //    Copyright (C) 2016-2022 Free Software Foundation, Inc.
  3881  //    This file is part of the GNU C Library.
  3882  //
  3883  //    The GNU C Library is free software; you can redistribute it and/or
  3884  //    modify it under the terms of the GNU Lesser General Public
  3885  //    License as published by the Free Software Foundation; either
  3886  //    version 2.1 of the License, or (at your option) any later version.
  3887  //
  3888  //    The GNU C Library is distributed in the hope that it will be useful,
  3889  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3890  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3891  //    Lesser General Public License for more details.
  3892  //
  3893  //    You should have received a copy of the GNU Lesser General Public
  3894  //    License along with the GNU C Library; if not, see
  3895  //    <https://www.gnu.org/licenses/>.
  3896  
  3897  // This header is internal to glibc and should not be included outside
  3898  //    of glibc headers.  Headers including it must define
  3899  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  3900  //    cannot have multiple include guards because ISO C feature test
  3901  //    macros depend on the definition of the macro when an affected
  3902  //    header is included, not when the first system header is
  3903  //    included.
  3904  
  3905  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  3906  //    This file is part of the GNU C Library.
  3907  //
  3908  //    The GNU C Library is free software; you can redistribute it and/or
  3909  //    modify it under the terms of the GNU Lesser General Public
  3910  //    License as published by the Free Software Foundation; either
  3911  //    version 2.1 of the License, or (at your option) any later version.
  3912  //
  3913  //    The GNU C Library is distributed in the hope that it will be useful,
  3914  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3915  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3916  //    Lesser General Public License for more details.
  3917  //
  3918  //    You should have received a copy of the GNU Lesser General Public
  3919  //    License along with the GNU C Library; if not, see
  3920  //    <https://www.gnu.org/licenses/>.
  3921  
  3922  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  3923  //    macro.
  3924  
  3925  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  3926  //    macro.  Most but not all symbols enabled by that macro in TS
  3927  //    18661-1 are enabled unconditionally in C2X.  In C2X, the symbols in
  3928  //    Annex F still require a new feature test macro
  3929  //    __STDC_WANT_IEC_60559_EXT__ instead (C2X does not define
  3930  //    __STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS
  3931  //    18661-1 are not included in C2X (and thus should depend on
  3932  //    __STDC_WANT_IEC_60559_BFP_EXT__ even when C2X features are
  3933  //    enabled).
  3934  //
  3935  //    __GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS
  3936  //    18661-1 not included in C2X.
  3937  //
  3938  //    __GLIBC_USE (IEC_60559_BFP_EXT_C2X) controls those features from TS
  3939  //    18661-1 that are also included in C2X (with no feature test macro
  3940  //    required in C2X).
  3941  //
  3942  //    __GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1
  3943  //    that are included in C2X but conditional on
  3944  //    __STDC_WANT_IEC_60559_EXT__.  (There are currently no features
  3945  //    conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS
  3946  //    18661-1.)
  3947  
  3948  // ISO/IEC TS 18661-4:2015 defines the
  3949  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  3950  //    functions, the symbols from this TS are enabled unconditionally in
  3951  //    C2X.
  3952  
  3953  // ISO/IEC TS 18661-3:2015 defines the
  3954  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  3955  
  3956  // Copyright (C) 1989-2021 Free Software Foundation, Inc.
  3957  //
  3958  // This file is part of GCC.
  3959  //
  3960  // GCC is free software; you can redistribute it and/or modify
  3961  // it under the terms of the GNU General Public License as published by
  3962  // the Free Software Foundation; either version 3, or (at your option)
  3963  // any later version.
  3964  //
  3965  // GCC is distributed in the hope that it will be useful,
  3966  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  3967  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3968  // GNU General Public License for more details.
  3969  //
  3970  // Under Section 7 of GPL version 3, you are granted additional
  3971  // permissions described in the GCC Runtime Library Exception, version
  3972  // 3.1, as published by the Free Software Foundation.
  3973  //
  3974  // You should have received a copy of the GNU General Public License and
  3975  // a copy of the GCC Runtime Library Exception along with this program;
  3976  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  3977  // <http://www.gnu.org/licenses/>.
  3978  
  3979  // ISO C Standard:  7.17  Common definitions  <stddef.h>
  3980  
  3981  // Any one of these symbols __need_* means that GNU libc
  3982  //    wants us just to define one data type.  So don't define
  3983  //    the symbols that indicate this file's entire job has been done.
  3984  
  3985  // This avoids lossage on SunOS but only if stdtypes.h comes first.
  3986  //    There's no way to win with the other order!  Sun lossage.
  3987  
  3988  // Sequent's header files use _PTRDIFF_T_ in some conflicting way.
  3989  //    Just ignore it.
  3990  
  3991  // On VxWorks, <type/vxTypesBase.h> may have defined macros like
  3992  //    _TYPE_size_t which will typedef size_t.  fixincludes patched the
  3993  //    vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
  3994  //    not defined, and so that defining this macro defines _GCC_SIZE_T.
  3995  //    If we find that the macros are still defined at this point, we must
  3996  //    invoke them so that the type is defined as expected.
  3997  
  3998  // In case nobody has defined these types, but we aren't running under
  3999  //    GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
  4000  //    __WCHAR_TYPE__ have reasonable values.  This can happen if the
  4001  //    parts of GCC is compiled by an older compiler, that actually
  4002  //    include gstddef.h, such as collect2.
  4003  
  4004  // Signed type of difference of two pointers.
  4005  
  4006  // Define this type if we are doing the whole job,
  4007  //    or if we want this type in particular.
  4008  
  4009  // If this symbol has done its job, get rid of it.
  4010  
  4011  // Unsigned type of `sizeof' something.
  4012  
  4013  // Define this type if we are doing the whole job,
  4014  //    or if we want this type in particular.
  4015  
  4016  // Wide character type.
  4017  //    Locale-writers should change this as necessary to
  4018  //    be big enough to hold unique values not between 0 and 127,
  4019  //    and not (wchar_t) -1, for each defined multibyte character.
  4020  
  4021  // Define this type if we are doing the whole job,
  4022  //    or if we want this type in particular.
  4023  
  4024  // A null pointer constant.
  4025  
  4026  // Offset of member MEMBER in a struct of type TYPE.
  4027  
  4028  // Copyright (C) 1989-2021 Free Software Foundation, Inc.
  4029  //
  4030  // This file is part of GCC.
  4031  //
  4032  // GCC is free software; you can redistribute it and/or modify
  4033  // it under the terms of the GNU General Public License as published by
  4034  // the Free Software Foundation; either version 3, or (at your option)
  4035  // any later version.
  4036  //
  4037  // GCC is distributed in the hope that it will be useful,
  4038  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  4039  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  4040  // GNU General Public License for more details.
  4041  //
  4042  // Under Section 7 of GPL version 3, you are granted additional
  4043  // permissions described in the GCC Runtime Library Exception, version
  4044  // 3.1, as published by the Free Software Foundation.
  4045  //
  4046  // You should have received a copy of the GNU General Public License and
  4047  // a copy of the GCC Runtime Library Exception along with this program;
  4048  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  4049  // <http://www.gnu.org/licenses/>.
  4050  
  4051  // ISO C Standard:  7.15  Variable arguments  <stdarg.h>
  4052  
  4053  // Define __gnuc_va_list.
  4054  
  4055  type T__gnuc_va_list = T__builtin_va_list /* stdarg.h:40:27 */
  4056  
  4057  // Define the standard macros for the user,
  4058  //    if this invocation was from the user program.
  4059  
  4060  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4061  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4062  //    This file is part of the GNU C Library.
  4063  //
  4064  //    The GNU C Library is free software; you can redistribute it and/or
  4065  //    modify it under the terms of the GNU Lesser General Public
  4066  //    License as published by the Free Software Foundation; either
  4067  //    version 2.1 of the License, or (at your option) any later version.
  4068  //
  4069  //    The GNU C Library is distributed in the hope that it will be useful,
  4070  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4071  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4072  //    Lesser General Public License for more details.
  4073  //
  4074  //    You should have received a copy of the GNU Lesser General Public
  4075  //    License along with the GNU C Library; if not, see
  4076  //    <https://www.gnu.org/licenses/>.
  4077  
  4078  // Never include this file directly; use <sys/types.h> instead.
  4079  
  4080  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4081  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4082  //    This file is part of the GNU C Library.
  4083  //
  4084  //    The GNU C Library is free software; you can redistribute it and/or
  4085  //    modify it under the terms of the GNU Lesser General Public
  4086  //    License as published by the Free Software Foundation; either
  4087  //    version 2.1 of the License, or (at your option) any later version.
  4088  //
  4089  //    The GNU C Library is distributed in the hope that it will be useful,
  4090  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4091  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4092  //    Lesser General Public License for more details.
  4093  //
  4094  //    You should have received a copy of the GNU Lesser General Public
  4095  //    License along with the GNU C Library; if not, see
  4096  //    <https://www.gnu.org/licenses/>.
  4097  
  4098  // Never include this file directly; use <sys/types.h> instead.
  4099  
  4100  // Integral type unchanged by default argument promotions that can
  4101  //    hold any value corresponding to members of the extended character
  4102  //    set, as well as at least one value that does not correspond to any
  4103  //    member of the extended character set.
  4104  
  4105  // Conversion state information.
  4106  type T__mbstate_t = struct {
  4107  	F__count int32
  4108  	F__value struct{ F__wch uint32 }
  4109  } /* __mbstate_t.h:21:3 */
  4110  
  4111  // The tag name of this struct is _G_fpos_t to preserve historic
  4112  //    C++ mangled names for functions taking fpos_t arguments.
  4113  //    That name should not be used in new code.
  4114  type S_G_fpos_t = struct {
  4115  	F__pos   T__off_t
  4116  	F__state T__mbstate_t
  4117  } /* __fpos_t.h:10:9 */
  4118  
  4119  // The tag name of this struct is _G_fpos_t to preserve historic
  4120  //    C++ mangled names for functions taking fpos_t arguments.
  4121  //    That name should not be used in new code.
  4122  type T__fpos_t = S_G_fpos_t /* __fpos_t.h:14:3 */
  4123  
  4124  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4125  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4126  //    This file is part of the GNU C Library.
  4127  //
  4128  //    The GNU C Library is free software; you can redistribute it and/or
  4129  //    modify it under the terms of the GNU Lesser General Public
  4130  //    License as published by the Free Software Foundation; either
  4131  //    version 2.1 of the License, or (at your option) any later version.
  4132  //
  4133  //    The GNU C Library is distributed in the hope that it will be useful,
  4134  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4135  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4136  //    Lesser General Public License for more details.
  4137  //
  4138  //    You should have received a copy of the GNU Lesser General Public
  4139  //    License along with the GNU C Library; if not, see
  4140  //    <https://www.gnu.org/licenses/>.
  4141  
  4142  // Never include this file directly; use <sys/types.h> instead.
  4143  
  4144  // The tag name of this struct is _G_fpos64_t to preserve historic
  4145  //    C++ mangled names for functions taking fpos_t and/or fpos64_t
  4146  //    arguments.  That name should not be used in new code.
  4147  type S_G_fpos64_t = struct {
  4148  	F__pos   T__off64_t
  4149  	F__state T__mbstate_t
  4150  } /* __fpos64_t.h:10:9 */
  4151  
  4152  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4153  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4154  //    This file is part of the GNU C Library.
  4155  //
  4156  //    The GNU C Library is free software; you can redistribute it and/or
  4157  //    modify it under the terms of the GNU Lesser General Public
  4158  //    License as published by the Free Software Foundation; either
  4159  //    version 2.1 of the License, or (at your option) any later version.
  4160  //
  4161  //    The GNU C Library is distributed in the hope that it will be useful,
  4162  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4163  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4164  //    Lesser General Public License for more details.
  4165  //
  4166  //    You should have received a copy of the GNU Lesser General Public
  4167  //    License along with the GNU C Library; if not, see
  4168  //    <https://www.gnu.org/licenses/>.
  4169  
  4170  // Never include this file directly; use <sys/types.h> instead.
  4171  
  4172  // The tag name of this struct is _G_fpos64_t to preserve historic
  4173  //    C++ mangled names for functions taking fpos_t and/or fpos64_t
  4174  //    arguments.  That name should not be used in new code.
  4175  type T__fpos64_t = S_G_fpos64_t /* __fpos64_t.h:14:3 */
  4176  
  4177  type S_IO_FILE = struct {
  4178  	F_flags          int32
  4179  	F__ccgo_pad1     [4]byte
  4180  	F_IO_read_ptr    uintptr
  4181  	F_IO_read_end    uintptr
  4182  	F_IO_read_base   uintptr
  4183  	F_IO_write_base  uintptr
  4184  	F_IO_write_ptr   uintptr
  4185  	F_IO_write_end   uintptr
  4186  	F_IO_buf_base    uintptr
  4187  	F_IO_buf_end     uintptr
  4188  	F_IO_save_base   uintptr
  4189  	F_IO_backup_base uintptr
  4190  	F_IO_save_end    uintptr
  4191  	F_markers        uintptr
  4192  	F_chain          uintptr
  4193  	F_fileno         int32
  4194  	F_flags2         int32
  4195  	F_old_offset     T__off_t
  4196  	F_cur_column     uint16
  4197  	F_vtable_offset  int8
  4198  	F_shortbuf       [1]uint8
  4199  	F__ccgo_pad2     [4]byte
  4200  	F_lock           uintptr
  4201  	F_offset         T__off64_t
  4202  	F_codecvt        uintptr
  4203  	F_wide_data      uintptr
  4204  	F_freeres_list   uintptr
  4205  	F_freeres_buf    uintptr
  4206  	F__pad5          Tsize_t
  4207  	F_mode           int32
  4208  	F_unused2        [20]uint8
  4209  } /* __FILE.h:4:1 */
  4210  
  4211  type T__FILE = S_IO_FILE /* __FILE.h:5:25 */
  4212  
  4213  // The opaque type of streams.  This is the definition used elsewhere.
  4214  type TFILE = S_IO_FILE /* FILE.h:7:25 */
  4215  
  4216  // The structure with the cookie function pointers.
  4217  //    The tag name of this struct is _IO_cookie_io_functions_t to
  4218  //    preserve historic C++ mangled names for functions taking
  4219  //    cookie_io_functions_t arguments.  That name should not be used in
  4220  //    new code.
  4221  type S_IO_cookie_io_functions_t = struct {
  4222  	Fread  uintptr
  4223  	Fwrite uintptr
  4224  	Fseek  uintptr
  4225  	Fclose uintptr
  4226  } /* cookie_io_functions_t.h:55:9 */
  4227  
  4228  // The structure with the cookie function pointers.
  4229  //    The tag name of this struct is _IO_cookie_io_functions_t to
  4230  //    preserve historic C++ mangled names for functions taking
  4231  //    cookie_io_functions_t arguments.  That name should not be used in
  4232  //    new code.
  4233  type Tcookie_io_functions_t = S_IO_cookie_io_functions_t /* cookie_io_functions_t.h:61:3 */
  4234  
  4235  type Tva_list = T__gnuc_va_list /* stdio.h:52:24 */
  4236  
  4237  type Toff_t = T__off64_t   /* stdio.h:65:19 */
  4238  type Toff64_t = T__off64_t /* stdio.h:70:19 */
  4239  
  4240  type Tssize_t = T__ssize_t /* stdio.h:77:19 */
  4241  
  4242  // The type of the second argument to `fgetpos' and `fsetpos'.
  4243  type Tfpos_t = T__fpos64_t   /* stdio.h:86:20 */
  4244  type Tfpos64_t = T__fpos64_t /* stdio.h:89:20 */
  4245  
  4246  // If we are compiling with optimizing read this file.  It contains
  4247  //    several optimizing inline functions and macros.
  4248  
  4249  // Macros to control TS 18661-3 glibc features on x86.
  4250  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  4251  //    This file is part of the GNU C Library.
  4252  //
  4253  //    The GNU C Library is free software; you can redistribute it and/or
  4254  //    modify it under the terms of the GNU Lesser General Public
  4255  //    License as published by the Free Software Foundation; either
  4256  //    version 2.1 of the License, or (at your option) any later version.
  4257  //
  4258  //    The GNU C Library is distributed in the hope that it will be useful,
  4259  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4260  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4261  //    Lesser General Public License for more details.
  4262  //
  4263  //    You should have received a copy of the GNU Lesser General Public
  4264  //    License along with the GNU C Library; if not, see
  4265  //    <https://www.gnu.org/licenses/>.
  4266  
  4267  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4268  //    Copyright The GNU Toolchain Authors.
  4269  //    This file is part of the GNU C Library.
  4270  //
  4271  //    The GNU C Library is free software; you can redistribute it and/or
  4272  //    modify it under the terms of the GNU Lesser General Public
  4273  //    License as published by the Free Software Foundation; either
  4274  //    version 2.1 of the License, or (at your option) any later version.
  4275  //
  4276  //    The GNU C Library is distributed in the hope that it will be useful,
  4277  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4278  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4279  //    Lesser General Public License for more details.
  4280  //
  4281  //    You should have received a copy of the GNU Lesser General Public
  4282  //    License along with the GNU C Library; if not, see
  4283  //    <https://www.gnu.org/licenses/>.
  4284  
  4285  //	ISO C99 Standard: 7.20 General utilities	<stdlib.h>
  4286  
  4287  // Handle feature test macros at the start of a header.
  4288  //    Copyright (C) 2016-2022 Free Software Foundation, Inc.
  4289  //    This file is part of the GNU C Library.
  4290  //
  4291  //    The GNU C Library is free software; you can redistribute it and/or
  4292  //    modify it under the terms of the GNU Lesser General Public
  4293  //    License as published by the Free Software Foundation; either
  4294  //    version 2.1 of the License, or (at your option) any later version.
  4295  //
  4296  //    The GNU C Library is distributed in the hope that it will be useful,
  4297  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4298  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4299  //    Lesser General Public License for more details.
  4300  //
  4301  //    You should have received a copy of the GNU Lesser General Public
  4302  //    License along with the GNU C Library; if not, see
  4303  //    <https://www.gnu.org/licenses/>.
  4304  
  4305  // This header is internal to glibc and should not be included outside
  4306  //    of glibc headers.  Headers including it must define
  4307  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  4308  //    cannot have multiple include guards because ISO C feature test
  4309  //    macros depend on the definition of the macro when an affected
  4310  //    header is included, not when the first system header is
  4311  //    included.
  4312  
  4313  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4314  //    This file is part of the GNU C Library.
  4315  //
  4316  //    The GNU C Library is free software; you can redistribute it and/or
  4317  //    modify it under the terms of the GNU Lesser General Public
  4318  //    License as published by the Free Software Foundation; either
  4319  //    version 2.1 of the License, or (at your option) any later version.
  4320  //
  4321  //    The GNU C Library is distributed in the hope that it will be useful,
  4322  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4323  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4324  //    Lesser General Public License for more details.
  4325  //
  4326  //    You should have received a copy of the GNU Lesser General Public
  4327  //    License along with the GNU C Library; if not, see
  4328  //    <https://www.gnu.org/licenses/>.
  4329  
  4330  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  4331  //    macro.
  4332  
  4333  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  4334  //    macro.  Most but not all symbols enabled by that macro in TS
  4335  //    18661-1 are enabled unconditionally in C2X.  In C2X, the symbols in
  4336  //    Annex F still require a new feature test macro
  4337  //    __STDC_WANT_IEC_60559_EXT__ instead (C2X does not define
  4338  //    __STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS
  4339  //    18661-1 are not included in C2X (and thus should depend on
  4340  //    __STDC_WANT_IEC_60559_BFP_EXT__ even when C2X features are
  4341  //    enabled).
  4342  //
  4343  //    __GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS
  4344  //    18661-1 not included in C2X.
  4345  //
  4346  //    __GLIBC_USE (IEC_60559_BFP_EXT_C2X) controls those features from TS
  4347  //    18661-1 that are also included in C2X (with no feature test macro
  4348  //    required in C2X).
  4349  //
  4350  //    __GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1
  4351  //    that are included in C2X but conditional on
  4352  //    __STDC_WANT_IEC_60559_EXT__.  (There are currently no features
  4353  //    conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS
  4354  //    18661-1.)
  4355  
  4356  // ISO/IEC TS 18661-4:2015 defines the
  4357  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  4358  //    functions, the symbols from this TS are enabled unconditionally in
  4359  //    C2X.
  4360  
  4361  // ISO/IEC TS 18661-3:2015 defines the
  4362  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  4363  
  4364  // Get size_t, wchar_t and NULL from <stddef.h>.
  4365  // Copyright (C) 1989-2021 Free Software Foundation, Inc.
  4366  //
  4367  // This file is part of GCC.
  4368  //
  4369  // GCC is free software; you can redistribute it and/or modify
  4370  // it under the terms of the GNU General Public License as published by
  4371  // the Free Software Foundation; either version 3, or (at your option)
  4372  // any later version.
  4373  //
  4374  // GCC is distributed in the hope that it will be useful,
  4375  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  4376  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  4377  // GNU General Public License for more details.
  4378  //
  4379  // Under Section 7 of GPL version 3, you are granted additional
  4380  // permissions described in the GCC Runtime Library Exception, version
  4381  // 3.1, as published by the Free Software Foundation.
  4382  //
  4383  // You should have received a copy of the GNU General Public License and
  4384  // a copy of the GCC Runtime Library Exception along with this program;
  4385  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  4386  // <http://www.gnu.org/licenses/>.
  4387  
  4388  // ISO C Standard:  7.17  Common definitions  <stddef.h>
  4389  
  4390  // Any one of these symbols __need_* means that GNU libc
  4391  //    wants us just to define one data type.  So don't define
  4392  //    the symbols that indicate this file's entire job has been done.
  4393  
  4394  // This avoids lossage on SunOS but only if stdtypes.h comes first.
  4395  //    There's no way to win with the other order!  Sun lossage.
  4396  
  4397  // Sequent's header files use _PTRDIFF_T_ in some conflicting way.
  4398  //    Just ignore it.
  4399  
  4400  // On VxWorks, <type/vxTypesBase.h> may have defined macros like
  4401  //    _TYPE_size_t which will typedef size_t.  fixincludes patched the
  4402  //    vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
  4403  //    not defined, and so that defining this macro defines _GCC_SIZE_T.
  4404  //    If we find that the macros are still defined at this point, we must
  4405  //    invoke them so that the type is defined as expected.
  4406  
  4407  // In case nobody has defined these types, but we aren't running under
  4408  //    GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
  4409  //    __WCHAR_TYPE__ have reasonable values.  This can happen if the
  4410  //    parts of GCC is compiled by an older compiler, that actually
  4411  //    include gstddef.h, such as collect2.
  4412  
  4413  // Signed type of difference of two pointers.
  4414  
  4415  // Define this type if we are doing the whole job,
  4416  //    or if we want this type in particular.
  4417  
  4418  // If this symbol has done its job, get rid of it.
  4419  
  4420  // Unsigned type of `sizeof' something.
  4421  
  4422  // Define this type if we are doing the whole job,
  4423  //    or if we want this type in particular.
  4424  
  4425  // Wide character type.
  4426  //    Locale-writers should change this as necessary to
  4427  //    be big enough to hold unique values not between 0 and 127,
  4428  //    and not (wchar_t) -1, for each defined multibyte character.
  4429  
  4430  // Define this type if we are doing the whole job,
  4431  //    or if we want this type in particular.
  4432  
  4433  // A null pointer constant.
  4434  
  4435  // Offset of member MEMBER in a struct of type TYPE.
  4436  
  4437  // XPG requires a few symbols from <sys/wait.h> being defined.
  4438  // Definitions of flag bits for `waitpid' et al.
  4439  //    Copyright (C) 1992-2022 Free Software Foundation, Inc.
  4440  //    This file is part of the GNU C Library.
  4441  //
  4442  //    The GNU C Library is free software; you can redistribute it and/or
  4443  //    modify it under the terms of the GNU Lesser General Public
  4444  //    License as published by the Free Software Foundation; either
  4445  //    version 2.1 of the License, or (at your option) any later version.
  4446  //
  4447  //    The GNU C Library is distributed in the hope that it will be useful,
  4448  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4449  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4450  //    Lesser General Public License for more details.
  4451  //
  4452  //    You should have received a copy of the GNU Lesser General Public
  4453  //    License along with the GNU C Library; if not, see
  4454  //    <https://www.gnu.org/licenses/>.
  4455  
  4456  // Bits in the third argument to `waitpid'.
  4457  
  4458  // Bits in the fourth argument to `waitid'.
  4459  
  4460  // Definitions of status bits for `wait' et al.
  4461  //    Copyright (C) 1992-2022 Free Software Foundation, Inc.
  4462  //    This file is part of the GNU C Library.
  4463  //
  4464  //    The GNU C Library is free software; you can redistribute it and/or
  4465  //    modify it under the terms of the GNU Lesser General Public
  4466  //    License as published by the Free Software Foundation; either
  4467  //    version 2.1 of the License, or (at your option) any later version.
  4468  //
  4469  //    The GNU C Library is distributed in the hope that it will be useful,
  4470  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4471  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4472  //    Lesser General Public License for more details.
  4473  //
  4474  //    You should have received a copy of the GNU Lesser General Public
  4475  //    License along with the GNU C Library; if not, see
  4476  //    <https://www.gnu.org/licenses/>.
  4477  
  4478  // Everything extant so far uses these same bits.
  4479  
  4480  // If WIFEXITED(STATUS), the low-order 8 bits of the status.
  4481  
  4482  // If WIFSIGNALED(STATUS), the terminating signal.
  4483  
  4484  // If WIFSTOPPED(STATUS), the signal that stopped the child.
  4485  
  4486  // Nonzero if STATUS indicates normal termination.
  4487  
  4488  // Nonzero if STATUS indicates termination by a signal.
  4489  
  4490  // Nonzero if STATUS indicates the child is stopped.
  4491  
  4492  // Nonzero if STATUS indicates the child continued after a stop.  We only
  4493  //    define this if <bits/waitflags.h> provides the WCONTINUED flag bit.
  4494  
  4495  // Nonzero if STATUS indicates the child dumped core.
  4496  
  4497  // Macros for constructing status values.
  4498  
  4499  // Define the macros <sys/wait.h> also would define this way.
  4500  
  4501  // _FloatN API tests for enablement.
  4502  // Macros to control TS 18661-3 glibc features on x86.
  4503  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  4504  //    This file is part of the GNU C Library.
  4505  //
  4506  //    The GNU C Library is free software; you can redistribute it and/or
  4507  //    modify it under the terms of the GNU Lesser General Public
  4508  //    License as published by the Free Software Foundation; either
  4509  //    version 2.1 of the License, or (at your option) any later version.
  4510  //
  4511  //    The GNU C Library is distributed in the hope that it will be useful,
  4512  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4513  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4514  //    Lesser General Public License for more details.
  4515  //
  4516  //    You should have received a copy of the GNU Lesser General Public
  4517  //    License along with the GNU C Library; if not, see
  4518  //    <https://www.gnu.org/licenses/>.
  4519  
  4520  // Returned by `div'.
  4521  type Tdiv_t = struct {
  4522  	Fquot int32
  4523  	Frem  int32
  4524  } /* stdlib.h:63:5 */
  4525  
  4526  // Returned by `ldiv'.
  4527  type Tldiv_t = struct {
  4528  	Fquot int64
  4529  	Frem  int64
  4530  } /* stdlib.h:71:5 */
  4531  
  4532  // Returned by `lldiv'.
  4533  type Tlldiv_t = struct {
  4534  	Fquot int64
  4535  	Frem  int64
  4536  } /* stdlib.h:81:5 */
  4537  
  4538  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4539  //    This file is part of the GNU C Library.
  4540  //
  4541  //    The GNU C Library is free software; you can redistribute it and/or
  4542  //    modify it under the terms of the GNU Lesser General Public
  4543  //    License as published by the Free Software Foundation; either
  4544  //    version 2.1 of the License, or (at your option) any later version.
  4545  //
  4546  //    The GNU C Library is distributed in the hope that it will be useful,
  4547  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4548  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4549  //    Lesser General Public License for more details.
  4550  //
  4551  //    You should have received a copy of the GNU Lesser General Public
  4552  //    License along with the GNU C Library; if not, see
  4553  //    <https://www.gnu.org/licenses/>.
  4554  
  4555  //	POSIX Standard: 2.6 Primitive System Data Types	<sys/types.h>
  4556  
  4557  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4558  //    This file is part of the GNU C Library.
  4559  //
  4560  //    The GNU C Library is free software; you can redistribute it and/or
  4561  //    modify it under the terms of the GNU Lesser General Public
  4562  //    License as published by the Free Software Foundation; either
  4563  //    version 2.1 of the License, or (at your option) any later version.
  4564  //
  4565  //    The GNU C Library is distributed in the hope that it will be useful,
  4566  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4567  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4568  //    Lesser General Public License for more details.
  4569  //
  4570  //    You should have received a copy of the GNU Lesser General Public
  4571  //    License along with the GNU C Library; if not, see
  4572  //    <https://www.gnu.org/licenses/>.
  4573  
  4574  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4575  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4576  //    This file is part of the GNU C Library.
  4577  //
  4578  //    The GNU C Library is free software; you can redistribute it and/or
  4579  //    modify it under the terms of the GNU Lesser General Public
  4580  //    License as published by the Free Software Foundation; either
  4581  //    version 2.1 of the License, or (at your option) any later version.
  4582  //
  4583  //    The GNU C Library is distributed in the hope that it will be useful,
  4584  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4585  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4586  //    Lesser General Public License for more details.
  4587  //
  4588  //    You should have received a copy of the GNU Lesser General Public
  4589  //    License along with the GNU C Library; if not, see
  4590  //    <https://www.gnu.org/licenses/>.
  4591  
  4592  // Never include this file directly; use <sys/types.h> instead.
  4593  
  4594  type Tu_char = T__u_char     /* types.h:33:18 */
  4595  type Tu_short = T__u_short   /* types.h:34:19 */
  4596  type Tu_int = T__u_int       /* types.h:35:17 */
  4597  type Tu_long = T__u_long     /* types.h:36:18 */
  4598  type Tquad_t = T__quad_t     /* types.h:37:18 */
  4599  type Tu_quad_t = T__u_quad_t /* types.h:38:20 */
  4600  type Tfsid_t = T__fsid_t     /* types.h:39:18 */
  4601  type Tloff_t = T__loff_t     /* types.h:42:18 */
  4602  
  4603  type Tino_t = T__ino64_t   /* types.h:49:19 */
  4604  type Tino64_t = T__ino64_t /* types.h:54:19 */
  4605  
  4606  type Tdev_t = T__dev_t /* types.h:59:17 */
  4607  
  4608  type Tgid_t = T__gid_t /* types.h:64:17 */
  4609  
  4610  type Tmode_t = T__mode_t /* types.h:69:18 */
  4611  
  4612  type Tnlink_t = T__nlink_t /* types.h:74:19 */
  4613  
  4614  type Tuid_t = T__uid_t /* types.h:79:17 */
  4615  
  4616  type Tpid_t = T__pid_t /* types.h:97:17 */
  4617  
  4618  type Tid_t = T__id_t /* types.h:103:16 */
  4619  
  4620  type Tdaddr_t = T__daddr_t /* types.h:114:19 */
  4621  type Tcaddr_t = T__caddr_t /* types.h:115:19 */
  4622  
  4623  type Tkey_t = T__key_t /* types.h:121:17 */
  4624  
  4625  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4626  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4627  //    This file is part of the GNU C Library.
  4628  //
  4629  //    The GNU C Library is free software; you can redistribute it and/or
  4630  //    modify it under the terms of the GNU Lesser General Public
  4631  //    License as published by the Free Software Foundation; either
  4632  //    version 2.1 of the License, or (at your option) any later version.
  4633  //
  4634  //    The GNU C Library is distributed in the hope that it will be useful,
  4635  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4636  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4637  //    Lesser General Public License for more details.
  4638  //
  4639  //    You should have received a copy of the GNU Lesser General Public
  4640  //    License along with the GNU C Library; if not, see
  4641  //    <https://www.gnu.org/licenses/>.
  4642  
  4643  // Never include this file directly; use <sys/types.h> instead.
  4644  
  4645  // Returned by `clock'.
  4646  type Tclock_t = T__clock_t /* clock_t.h:7:19 */
  4647  
  4648  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4649  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4650  //    This file is part of the GNU C Library.
  4651  //
  4652  //    The GNU C Library is free software; you can redistribute it and/or
  4653  //    modify it under the terms of the GNU Lesser General Public
  4654  //    License as published by the Free Software Foundation; either
  4655  //    version 2.1 of the License, or (at your option) any later version.
  4656  //
  4657  //    The GNU C Library is distributed in the hope that it will be useful,
  4658  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4659  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4660  //    Lesser General Public License for more details.
  4661  //
  4662  //    You should have received a copy of the GNU Lesser General Public
  4663  //    License along with the GNU C Library; if not, see
  4664  //    <https://www.gnu.org/licenses/>.
  4665  
  4666  // Never include this file directly; use <sys/types.h> instead.
  4667  
  4668  // Clock ID used in clock and timer functions.
  4669  type Tclockid_t = T__clockid_t /* clockid_t.h:7:21 */
  4670  
  4671  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4672  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4673  //    This file is part of the GNU C Library.
  4674  //
  4675  //    The GNU C Library is free software; you can redistribute it and/or
  4676  //    modify it under the terms of the GNU Lesser General Public
  4677  //    License as published by the Free Software Foundation; either
  4678  //    version 2.1 of the License, or (at your option) any later version.
  4679  //
  4680  //    The GNU C Library is distributed in the hope that it will be useful,
  4681  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4682  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4683  //    Lesser General Public License for more details.
  4684  //
  4685  //    You should have received a copy of the GNU Lesser General Public
  4686  //    License along with the GNU C Library; if not, see
  4687  //    <https://www.gnu.org/licenses/>.
  4688  
  4689  // Never include this file directly; use <sys/types.h> instead.
  4690  
  4691  // Returned by `time'.
  4692  type Ttime_t = T__time_t /* time_t.h:10:18 */
  4693  
  4694  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4695  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4696  //    This file is part of the GNU C Library.
  4697  //
  4698  //    The GNU C Library is free software; you can redistribute it and/or
  4699  //    modify it under the terms of the GNU Lesser General Public
  4700  //    License as published by the Free Software Foundation; either
  4701  //    version 2.1 of the License, or (at your option) any later version.
  4702  //
  4703  //    The GNU C Library is distributed in the hope that it will be useful,
  4704  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4705  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4706  //    Lesser General Public License for more details.
  4707  //
  4708  //    You should have received a copy of the GNU Lesser General Public
  4709  //    License along with the GNU C Library; if not, see
  4710  //    <https://www.gnu.org/licenses/>.
  4711  
  4712  // Never include this file directly; use <sys/types.h> instead.
  4713  
  4714  // Timer ID returned by `timer_create'.
  4715  type Ttimer_t = T__timer_t /* timer_t.h:7:19 */
  4716  
  4717  type Tuseconds_t = T__useconds_t   /* types.h:134:22 */
  4718  type Tsuseconds_t = T__suseconds_t /* types.h:138:23 */
  4719  
  4720  // Copyright (C) 1989-2021 Free Software Foundation, Inc.
  4721  //
  4722  // This file is part of GCC.
  4723  //
  4724  // GCC is free software; you can redistribute it and/or modify
  4725  // it under the terms of the GNU General Public License as published by
  4726  // the Free Software Foundation; either version 3, or (at your option)
  4727  // any later version.
  4728  //
  4729  // GCC is distributed in the hope that it will be useful,
  4730  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  4731  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  4732  // GNU General Public License for more details.
  4733  //
  4734  // Under Section 7 of GPL version 3, you are granted additional
  4735  // permissions described in the GCC Runtime Library Exception, version
  4736  // 3.1, as published by the Free Software Foundation.
  4737  //
  4738  // You should have received a copy of the GNU General Public License and
  4739  // a copy of the GCC Runtime Library Exception along with this program;
  4740  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  4741  // <http://www.gnu.org/licenses/>.
  4742  
  4743  // ISO C Standard:  7.17  Common definitions  <stddef.h>
  4744  
  4745  // Any one of these symbols __need_* means that GNU libc
  4746  //    wants us just to define one data type.  So don't define
  4747  //    the symbols that indicate this file's entire job has been done.
  4748  
  4749  // This avoids lossage on SunOS but only if stdtypes.h comes first.
  4750  //    There's no way to win with the other order!  Sun lossage.
  4751  
  4752  // Sequent's header files use _PTRDIFF_T_ in some conflicting way.
  4753  //    Just ignore it.
  4754  
  4755  // On VxWorks, <type/vxTypesBase.h> may have defined macros like
  4756  //    _TYPE_size_t which will typedef size_t.  fixincludes patched the
  4757  //    vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
  4758  //    not defined, and so that defining this macro defines _GCC_SIZE_T.
  4759  //    If we find that the macros are still defined at this point, we must
  4760  //    invoke them so that the type is defined as expected.
  4761  
  4762  // In case nobody has defined these types, but we aren't running under
  4763  //    GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
  4764  //    __WCHAR_TYPE__ have reasonable values.  This can happen if the
  4765  //    parts of GCC is compiled by an older compiler, that actually
  4766  //    include gstddef.h, such as collect2.
  4767  
  4768  // Signed type of difference of two pointers.
  4769  
  4770  // Define this type if we are doing the whole job,
  4771  //    or if we want this type in particular.
  4772  
  4773  // If this symbol has done its job, get rid of it.
  4774  
  4775  // Unsigned type of `sizeof' something.
  4776  
  4777  // Define this type if we are doing the whole job,
  4778  //    or if we want this type in particular.
  4779  
  4780  // Wide character type.
  4781  //    Locale-writers should change this as necessary to
  4782  //    be big enough to hold unique values not between 0 and 127,
  4783  //    and not (wchar_t) -1, for each defined multibyte character.
  4784  
  4785  // Define this type if we are doing the whole job,
  4786  //    or if we want this type in particular.
  4787  
  4788  // A null pointer constant.
  4789  
  4790  // Offset of member MEMBER in a struct of type TYPE.
  4791  
  4792  // Old compatibility names for C types.
  4793  type Tulong = uint64  /* types.h:148:27 */
  4794  type Tushort = uint16 /* types.h:149:28 */
  4795  type Tuint = uint32   /* types.h:150:22 */
  4796  
  4797  // These size-specific names are used by some of the inet code.
  4798  
  4799  // Define intN_t types.
  4800  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  4801  //    This file is part of the GNU C Library.
  4802  //
  4803  //    The GNU C Library is free software; you can redistribute it and/or
  4804  //    modify it under the terms of the GNU Lesser General Public
  4805  //    License as published by the Free Software Foundation; either
  4806  //    version 2.1 of the License, or (at your option) any later version.
  4807  //
  4808  //    The GNU C Library is distributed in the hope that it will be useful,
  4809  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4810  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4811  //    Lesser General Public License for more details.
  4812  //
  4813  //    You should have received a copy of the GNU Lesser General Public
  4814  //    License along with the GNU C Library; if not, see
  4815  //    <https://www.gnu.org/licenses/>.
  4816  
  4817  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4818  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4819  //    This file is part of the GNU C Library.
  4820  //
  4821  //    The GNU C Library is free software; you can redistribute it and/or
  4822  //    modify it under the terms of the GNU Lesser General Public
  4823  //    License as published by the Free Software Foundation; either
  4824  //    version 2.1 of the License, or (at your option) any later version.
  4825  //
  4826  //    The GNU C Library is distributed in the hope that it will be useful,
  4827  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4828  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4829  //    Lesser General Public License for more details.
  4830  //
  4831  //    You should have received a copy of the GNU Lesser General Public
  4832  //    License along with the GNU C Library; if not, see
  4833  //    <https://www.gnu.org/licenses/>.
  4834  
  4835  // Never include this file directly; use <sys/types.h> instead.
  4836  
  4837  type Tint8_t = T__int8_t   /* stdint-intn.h:24:18 */
  4838  type Tint16_t = T__int16_t /* stdint-intn.h:25:19 */
  4839  type Tint32_t = T__int32_t /* stdint-intn.h:26:19 */
  4840  type Tint64_t = T__int64_t /* stdint-intn.h:27:19 */
  4841  
  4842  // These were defined by ISO C without the first `_'.
  4843  type Tu_int8_t = T__uint8_t   /* types.h:158:19 */
  4844  type Tu_int16_t = T__uint16_t /* types.h:159:20 */
  4845  type Tu_int32_t = T__uint32_t /* types.h:160:20 */
  4846  type Tu_int64_t = T__uint64_t /* types.h:161:20 */
  4847  
  4848  type Tregister_t = int32 /* types.h:164:13 */
  4849  
  4850  // It also defines `fd_set' and the FD_* macros for `select'.
  4851  // `fd_set' type and related macros, and `select'/`pselect' declarations.
  4852  //    Copyright (C) 1996-2022 Free Software Foundation, Inc.
  4853  //    This file is part of the GNU C Library.
  4854  //
  4855  //    The GNU C Library is free software; you can redistribute it and/or
  4856  //    modify it under the terms of the GNU Lesser General Public
  4857  //    License as published by the Free Software Foundation; either
  4858  //    version 2.1 of the License, or (at your option) any later version.
  4859  //
  4860  //    The GNU C Library is distributed in the hope that it will be useful,
  4861  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4862  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4863  //    Lesser General Public License for more details.
  4864  //
  4865  //    You should have received a copy of the GNU Lesser General Public
  4866  //    License along with the GNU C Library; if not, see
  4867  //    <https://www.gnu.org/licenses/>.
  4868  
  4869  //	POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
  4870  
  4871  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  4872  //    This file is part of the GNU C Library.
  4873  //
  4874  //    The GNU C Library is free software; you can redistribute it and/or
  4875  //    modify it under the terms of the GNU Lesser General Public
  4876  //    License as published by the Free Software Foundation; either
  4877  //    version 2.1 of the License, or (at your option) any later version.
  4878  //
  4879  //    The GNU C Library is distributed in the hope that it will be useful,
  4880  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4881  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4882  //    Lesser General Public License for more details.
  4883  //
  4884  //    You should have received a copy of the GNU Lesser General Public
  4885  //    License along with the GNU C Library; if not, see
  4886  //    <https://www.gnu.org/licenses/>.
  4887  
  4888  // Get definition of needed basic types.
  4889  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4890  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4891  //    This file is part of the GNU C Library.
  4892  //
  4893  //    The GNU C Library is free software; you can redistribute it and/or
  4894  //    modify it under the terms of the GNU Lesser General Public
  4895  //    License as published by the Free Software Foundation; either
  4896  //    version 2.1 of the License, or (at your option) any later version.
  4897  //
  4898  //    The GNU C Library is distributed in the hope that it will be useful,
  4899  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4900  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4901  //    Lesser General Public License for more details.
  4902  //
  4903  //    You should have received a copy of the GNU Lesser General Public
  4904  //    License along with the GNU C Library; if not, see
  4905  //    <https://www.gnu.org/licenses/>.
  4906  
  4907  // Never include this file directly; use <sys/types.h> instead.
  4908  
  4909  // Get __FD_* definitions.
  4910  // Copyright (C) 1997-2022 Free Software Foundation, Inc.
  4911  //    This file is part of the GNU C Library.
  4912  //
  4913  //    The GNU C Library is free software; you can redistribute it and/or
  4914  //    modify it under the terms of the GNU Lesser General Public
  4915  //    License as published by the Free Software Foundation; either
  4916  //    version 2.1 of the License, or (at your option) any later version.
  4917  //
  4918  //    The GNU C Library is distributed in the hope that it will be useful,
  4919  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4920  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4921  //    Lesser General Public License for more details.
  4922  //
  4923  //    You should have received a copy of the GNU Lesser General Public
  4924  //    License along with the GNU C Library; if not, see
  4925  //    <https://www.gnu.org/licenses/>.
  4926  
  4927  // We don't use `memset' because this would require a prototype and
  4928  //    the array isn't too big.
  4929  
  4930  // Get sigset_t.
  4931  
  4932  type T__sigset_t = struct{ F__val [16]uint64 } /* __sigset_t.h:8:3 */
  4933  
  4934  // A set of signals to be blocked, unblocked, or waited for.
  4935  type Tsigset_t = T__sigset_t /* sigset_t.h:7:20 */
  4936  
  4937  // Get definition of timer specification structures.
  4938  
  4939  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4940  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4941  //    This file is part of the GNU C Library.
  4942  //
  4943  //    The GNU C Library is free software; you can redistribute it and/or
  4944  //    modify it under the terms of the GNU Lesser General Public
  4945  //    License as published by the Free Software Foundation; either
  4946  //    version 2.1 of the License, or (at your option) any later version.
  4947  //
  4948  //    The GNU C Library is distributed in the hope that it will be useful,
  4949  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4950  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4951  //    Lesser General Public License for more details.
  4952  //
  4953  //    You should have received a copy of the GNU Lesser General Public
  4954  //    License along with the GNU C Library; if not, see
  4955  //    <https://www.gnu.org/licenses/>.
  4956  
  4957  // Never include this file directly; use <sys/types.h> instead.
  4958  
  4959  // A time value that is accurate to the nearest
  4960  //    microsecond but also has a range of years.
  4961  type Stimeval = struct {
  4962  	Ftv_sec  T__time_t
  4963  	Ftv_usec T__suseconds_t
  4964  } /* struct_timeval.h:8:1 */
  4965  
  4966  // NB: Include guard matches what <linux/time.h> uses.
  4967  
  4968  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4969  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  4970  //    This file is part of the GNU C Library.
  4971  //
  4972  //    The GNU C Library is free software; you can redistribute it and/or
  4973  //    modify it under the terms of the GNU Lesser General Public
  4974  //    License as published by the Free Software Foundation; either
  4975  //    version 2.1 of the License, or (at your option) any later version.
  4976  //
  4977  //    The GNU C Library is distributed in the hope that it will be useful,
  4978  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4979  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4980  //    Lesser General Public License for more details.
  4981  //
  4982  //    You should have received a copy of the GNU Lesser General Public
  4983  //    License along with the GNU C Library; if not, see
  4984  //    <https://www.gnu.org/licenses/>.
  4985  
  4986  // Never include this file directly; use <sys/types.h> instead.
  4987  
  4988  // Endian macros for string.h functions
  4989  //    Copyright (C) 1992-2022 Free Software Foundation, Inc.
  4990  //    This file is part of the GNU C Library.
  4991  //
  4992  //    The GNU C Library is free software; you can redistribute it and/or
  4993  //    modify it under the terms of the GNU Lesser General Public
  4994  //    License as published by the Free Software Foundation; either
  4995  //    version 2.1 of the License, or (at your option) any later version.
  4996  //
  4997  //    The GNU C Library is distributed in the hope that it will be useful,
  4998  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4999  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5000  //    Lesser General Public License for more details.
  5001  //
  5002  //    You should have received a copy of the GNU Lesser General Public
  5003  //    License along with the GNU C Library; if not, see
  5004  //    <http://www.gnu.org/licenses/>.
  5005  
  5006  // POSIX.1b structure for a time value.  This is like a `struct timeval' but
  5007  //    has nanoseconds instead of microseconds.
  5008  type Stimespec = struct {
  5009  	Ftv_sec  T__time_t
  5010  	Ftv_nsec T__syscall_slong_t
  5011  } /* struct_timespec.h:11:1 */
  5012  
  5013  // The fd_set member is required to be an array of longs.
  5014  type T__fd_mask = int64 /* select.h:49:18 */
  5015  
  5016  // Some versions of <linux/posix_types.h> define this macros.
  5017  // It's easier to assume 8-bit bytes than to get CHAR_BIT.
  5018  
  5019  // fd_set for select and pselect.
  5020  type Tfd_set = struct{ Ffds_bits [16]T__fd_mask } /* select.h:70:5 */
  5021  
  5022  // Maximum number of file descriptors in `fd_set'.
  5023  
  5024  // Sometimes the fd_set member is assumed to have this type.
  5025  type Tfd_mask = T__fd_mask /* select.h:77:19 */
  5026  
  5027  // Define some inlines helping to catch common problems.
  5028  
  5029  type Tblksize_t = T__blksize_t /* types.h:185:21 */
  5030  
  5031  // Types from the Large File Support interface.
  5032  type Tblkcnt_t = T__blkcnt64_t     /* types.h:205:22 */ // Type to count number of disk blocks.
  5033  type Tfsblkcnt_t = T__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
  5034  type Tfsfilcnt_t = T__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
  5035  
  5036  type Tblkcnt64_t = T__blkcnt64_t     /* types.h:219:22 */ // Type to count number of disk blocks.
  5037  type Tfsblkcnt64_t = T__fsblkcnt64_t /* types.h:220:24 */ // Type to count file system blocks.
  5038  type Tfsfilcnt64_t = T__fsfilcnt64_t /* types.h:221:24 */ // Type to count file system inodes.
  5039  
  5040  // Now add the thread types.
  5041  // Declaration of common pthread types for all architectures.
  5042  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  5043  //    This file is part of the GNU C Library.
  5044  //
  5045  //    The GNU C Library is free software; you can redistribute it and/or
  5046  //    modify it under the terms of the GNU Lesser General Public
  5047  //    License as published by the Free Software Foundation; either
  5048  //    version 2.1 of the License, or (at your option) any later version.
  5049  //
  5050  //    The GNU C Library is distributed in the hope that it will be useful,
  5051  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5052  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5053  //    Lesser General Public License for more details.
  5054  //
  5055  //    You should have received a copy of the GNU Lesser General Public
  5056  //    License along with the GNU C Library; if not, see
  5057  //    <https://www.gnu.org/licenses/>.
  5058  
  5059  // For internal mutex and condition variable definitions.
  5060  // Common threading primitives definitions for both POSIX and C11.
  5061  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  5062  //    This file is part of the GNU C Library.
  5063  //
  5064  //    The GNU C Library is free software; you can redistribute it and/or
  5065  //    modify it under the terms of the GNU Lesser General Public
  5066  //    License as published by the Free Software Foundation; either
  5067  //    version 2.1 of the License, or (at your option) any later version.
  5068  //
  5069  //    The GNU C Library is distributed in the hope that it will be useful,
  5070  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5071  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5072  //    Lesser General Public License for more details.
  5073  //
  5074  //    You should have received a copy of the GNU Lesser General Public
  5075  //    License along with the GNU C Library; if not, see
  5076  //    <https://www.gnu.org/licenses/>.
  5077  
  5078  // Arch-specific definitions.  Each architecture must define the following
  5079  //    macros to define the expected sizes of pthread data types:
  5080  //
  5081  //    __SIZEOF_PTHREAD_ATTR_T        - size of pthread_attr_t.
  5082  //    __SIZEOF_PTHREAD_MUTEX_T       - size of pthread_mutex_t.
  5083  //    __SIZEOF_PTHREAD_MUTEXATTR_T   - size of pthread_mutexattr_t.
  5084  //    __SIZEOF_PTHREAD_COND_T        - size of pthread_cond_t.
  5085  //    __SIZEOF_PTHREAD_CONDATTR_T    - size of pthread_condattr_t.
  5086  //    __SIZEOF_PTHREAD_RWLOCK_T      - size of pthread_rwlock_t.
  5087  //    __SIZEOF_PTHREAD_RWLOCKATTR_T  - size of pthread_rwlockattr_t.
  5088  //    __SIZEOF_PTHREAD_BARRIER_T     - size of pthread_barrier_t.
  5089  //    __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
  5090  //
  5091  //    The additional macro defines any constraint for the lock alignment
  5092  //    inside the thread structures:
  5093  //
  5094  //    __LOCK_ALIGNMENT - for internal lock/futex usage.
  5095  //
  5096  //    Same idea but for the once locking primitive:
  5097  //
  5098  //    __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
  5099  
  5100  // Copyright (C) 2002-2022 Free Software Foundation, Inc.
  5101  //    This file is part of the GNU C Library.
  5102  //
  5103  //    The GNU C Library is free software; you can redistribute it and/or
  5104  //    modify it under the terms of the GNU Lesser General Public
  5105  //    License as published by the Free Software Foundation; either
  5106  //    version 2.1 of the License, or (at your option) any later version.
  5107  //
  5108  //    The GNU C Library is distributed in the hope that it will be useful,
  5109  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5110  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5111  //    Lesser General Public License for more details.
  5112  //
  5113  //    You should have received a copy of the GNU Lesser General Public
  5114  //    License along with the GNU C Library; if not, see
  5115  //    <https://www.gnu.org/licenses/>.
  5116  
  5117  // Determine the wordsize from the preprocessor defines.
  5118  
  5119  // Both x86-64 and x32 use the 64-bit system call interface.
  5120  
  5121  // Monotonically increasing wide counters (at least 62 bits).
  5122  //    Copyright (C) 2016-2022 Free Software Foundation, Inc.
  5123  //    This file is part of the GNU C Library.
  5124  //
  5125  //    The GNU C Library is free software; you can redistribute it and/or
  5126  //    modify it under the terms of the GNU Lesser General Public
  5127  //    License as published by the Free Software Foundation; either
  5128  //    version 2.1 of the License, or (at your option) any later version.
  5129  //
  5130  //    The GNU C Library is distributed in the hope that it will be useful,
  5131  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5132  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5133  //    Lesser General Public License for more details.
  5134  //
  5135  //    You should have received a copy of the GNU Lesser General Public
  5136  //    License along with the GNU C Library; if not, see
  5137  //    <https://www.gnu.org/licenses/>.
  5138  
  5139  // Counter that is monotonically increasing (by less than 2**31 per
  5140  //    increment), with a single writer, and an arbitrary number of
  5141  //    readers.
  5142  type T__atomic_wide_counter = struct{ F__value64 uint64 } /* atomic_wide_counter.h:33:3 */
  5143  
  5144  // Common definition of pthread_mutex_t.
  5145  
  5146  type S__pthread_internal_list = struct {
  5147  	F__prev uintptr
  5148  	F__next uintptr
  5149  } /* thread-shared-types.h:51:9 */
  5150  
  5151  // Common definition of pthread_mutex_t.
  5152  
  5153  type T__pthread_list_t = S__pthread_internal_list /* thread-shared-types.h:55:3 */
  5154  
  5155  type S__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:57:9 */
  5156  
  5157  type T__pthread_slist_t = S__pthread_internal_slist /* thread-shared-types.h:60:3 */
  5158  
  5159  // Arch-specific mutex definitions.  A generic implementation is provided
  5160  //    by sysdeps/nptl/bits/struct_mutex.h.  If required, an architecture
  5161  //    can override it by defining:
  5162  //
  5163  //    1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
  5164  //       definition).  It should contains at least the internal members
  5165  //       defined in the generic version.
  5166  //
  5167  //    2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
  5168  //       atomic operations.
  5169  //
  5170  //    3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
  5171  //       It should initialize the mutex internal flag.
  5172  
  5173  // x86 internal mutex struct definitions.
  5174  //    Copyright (C) 2019-2022 Free Software Foundation, Inc.
  5175  //    This file is part of the GNU C Library.
  5176  //
  5177  //    The GNU C Library is free software; you can redistribute it and/or
  5178  //    modify it under the terms of the GNU Lesser General Public
  5179  //    License as published by the Free Software Foundation; either
  5180  //    version 2.1 of the License, or (at your option) any later version.
  5181  //
  5182  //    The GNU C Library is distributed in the hope that it will be useful,
  5183  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5184  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5185  //    Lesser General Public License for more details.
  5186  //
  5187  //    You should have received a copy of the GNU Lesser General Public
  5188  //    License along with the GNU C Library; if not, see
  5189  //    <http://www.gnu.org/licenses/>.
  5190  
  5191  type S__pthread_mutex_s = struct {
  5192  	F__lock    int32
  5193  	F__count   uint32
  5194  	F__owner   int32
  5195  	F__nusers  uint32
  5196  	F__kind    int32
  5197  	F__spins   int16
  5198  	F__elision int16
  5199  	F__list    T__pthread_list_t
  5200  } /* struct_mutex.h:22:1 */
  5201  
  5202  // Arch-sepecific read-write lock definitions.  A generic implementation is
  5203  //    provided by struct_rwlock.h.  If required, an architecture can override it
  5204  //    by defining:
  5205  //
  5206  //    1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
  5207  //       It should contain at least the internal members defined in the
  5208  //       generic version.
  5209  //
  5210  //    2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
  5211  //       It should initialize the rwlock internal type.
  5212  
  5213  // x86 internal rwlock struct definitions.
  5214  //    Copyright (C) 2019-2022 Free Software Foundation, Inc.
  5215  //
  5216  //    This file is part of the GNU C Library.
  5217  //
  5218  //    The GNU C Library is free software; you can redistribute it and/or
  5219  //    modify it under the terms of the GNU Lesser General Public
  5220  //    License as published by the Free Software Foundation; either
  5221  //    version 2.1 of the License, or (at your option) any later version.
  5222  //
  5223  //    The GNU C Library is distributed in the hope that it will be useful,
  5224  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5225  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5226  //    Lesser General Public License for more details.
  5227  //
  5228  //    You should have received a copy of the GNU Lesser General Public
  5229  //    License along with the GNU C Library; if not, see
  5230  //    <http://www.gnu.org/licenses/>.
  5231  
  5232  type S__pthread_rwlock_arch_t = struct {
  5233  	F__readers       uint32
  5234  	F__writers       uint32
  5235  	F__wrphase_futex uint32
  5236  	F__writers_futex uint32
  5237  	F__pad3          uint32
  5238  	F__pad4          uint32
  5239  	F__cur_writer    int32
  5240  	F__shared        int32
  5241  	F__rwelision     int8
  5242  	F__pad1          [7]uint8
  5243  	F__pad2          uint64
  5244  	F__flags         uint32
  5245  	F__ccgo_pad1     [4]byte
  5246  } /* struct_rwlock.h:23:1 */
  5247  
  5248  // Common definition of pthread_cond_t.
  5249  
  5250  type S__pthread_cond_s = struct {
  5251  	F__wseq         T__atomic_wide_counter
  5252  	F__g1_start     T__atomic_wide_counter
  5253  	F__g_refs       [2]uint32
  5254  	F__g_size       [2]uint32
  5255  	F__g1_orig_size uint32
  5256  	F__wrefs        uint32
  5257  	F__g_signals    [2]uint32
  5258  } /* thread-shared-types.h:94:1 */
  5259  
  5260  type T__tss_t = uint32  /* thread-shared-types.h:105:22 */
  5261  type T__thrd_t = uint64 /* thread-shared-types.h:106:27 */
  5262  
  5263  type T__once_flag = struct{ F__data int32 } /* thread-shared-types.h:111:3 */
  5264  
  5265  // Thread identifiers.  The structure of the attribute type is not
  5266  //    exposed on purpose.
  5267  type Tpthread_t = uint64 /* pthreadtypes.h:27:27 */
  5268  
  5269  // Data structures for mutex handling.  The structure of the attribute
  5270  //    type is not exposed on purpose.
  5271  type Tpthread_mutexattr_t = struct {
  5272  	F__ccgo_pad1 [0]uint32
  5273  	F__size      [4]uint8
  5274  } /* pthreadtypes.h:36:3 */
  5275  
  5276  // Data structure for condition variable handling.  The structure of
  5277  //    the attribute type is not exposed on purpose.
  5278  type Tpthread_condattr_t = struct {
  5279  	F__ccgo_pad1 [0]uint32
  5280  	F__size      [4]uint8
  5281  } /* pthreadtypes.h:45:3 */
  5282  
  5283  // Keys for thread-specific data
  5284  type Tpthread_key_t = uint32 /* pthreadtypes.h:49:22 */
  5285  
  5286  // Once-only execution
  5287  type Tpthread_once_t = int32 /* pthreadtypes.h:53:30 */
  5288  
  5289  type Spthread_attr_t = struct {
  5290  	F__ccgo_pad1 [0]uint64
  5291  	F__size      [56]uint8
  5292  } /* pthreadtypes.h:56:1 */
  5293  
  5294  type Tpthread_attr_t = Spthread_attr_t /* pthreadtypes.h:62:30 */
  5295  
  5296  type Tpthread_mutex_t = struct{ F__data S__pthread_mutex_s } /* pthreadtypes.h:72:3 */
  5297  
  5298  type Tpthread_cond_t = struct{ F__data S__pthread_cond_s } /* pthreadtypes.h:80:3 */
  5299  
  5300  // Data structure for reader-writer lock variable handling.  The
  5301  //    structure of the attribute type is deliberately not exposed.
  5302  type Tpthread_rwlock_t = struct{ F__data S__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
  5303  
  5304  type Tpthread_rwlockattr_t = struct {
  5305  	F__ccgo_pad1 [0]uint64
  5306  	F__size      [8]uint8
  5307  } /* pthreadtypes.h:97:3 */
  5308  
  5309  // POSIX spinlock data type.
  5310  type Tpthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
  5311  
  5312  // POSIX barriers data type.  The structure of the type is
  5313  //    deliberately not exposed.
  5314  type Tpthread_barrier_t = struct {
  5315  	F__ccgo_pad1 [0]uint64
  5316  	F__size      [32]uint8
  5317  } /* pthreadtypes.h:112:3 */
  5318  
  5319  type Tpthread_barrierattr_t = struct {
  5320  	F__ccgo_pad1 [0]uint32
  5321  	F__size      [4]uint8
  5322  } /* pthreadtypes.h:118:3 */
  5323  
  5324  // Reentrant versions of the `random' family of functions.
  5325  //    These functions all use the following data structure to contain
  5326  //    state, rather than global state variables.
  5327  
  5328  type Srandom_data = struct {
  5329  	Ffptr        uintptr
  5330  	Frptr        uintptr
  5331  	Fstate       uintptr
  5332  	Frand_type   int32
  5333  	Frand_deg    int32
  5334  	Frand_sep    int32
  5335  	F__ccgo_pad1 [4]byte
  5336  	Fend_ptr     uintptr
  5337  } /* stdlib.h:424:1 */
  5338  
  5339  // Data structure for communication with thread safe versions.  This
  5340  //    type is to be regarded as opaque.  It's only exported because users
  5341  //    have to allocate objects of this type.
  5342  type Sdrand48_data = struct {
  5343  	F__x     [3]uint16
  5344  	F__old_x [3]uint16
  5345  	F__c     uint16
  5346  	F__init  uint16
  5347  	F__a     uint64
  5348  } /* stdlib.h:491:1 */
  5349  
  5350  // Shorthand for type of comparison functions.
  5351  type T__compar_fn_t = uintptr /* stdlib.h:816:13 */
  5352  
  5353  type Tcomparison_fn_t = T__compar_fn_t /* stdlib.h:819:23 */
  5354  type T__compar_d_fn_t = uintptr        /* stdlib.h:823:13 */
  5355  
  5356  // Macros to make boolean values more obvious. The #ifndef is to pacify
  5357  // compiler warnings in environments where these macros are defined elsewhere.
  5358  // Unfortunately, there is no way to do the same for the typedef.
  5359  
  5360  type TBOOL = int32 /* pcre2_internal.h:67:13 */
  5361  
  5362  // Valgrind (memcheck) support
  5363  
  5364  // -ftrivial-auto-var-init support supports initializing all local variables
  5365  // to avoid some classes of bug, but this can cause an unacceptable slowdown
  5366  // for large on-stack arrays in hot functions. This macro lets us annotate
  5367  // such arrays.
  5368  
  5369  // Older versions of MSVC lack snprintf(). This define allows for
  5370  // warning/error-free compilation and testing with MSVC compilers back to at least
  5371  // MSVC 10/2010. Except for VC6 (which is missing some fundamentals and fails).
  5372  
  5373  // When compiling a DLL for Windows, the exported symbols have to be declared
  5374  // using some MS magic. I found some useful information on this web page:
  5375  // http://msdn2.microsoft.com/en-us/library/y4h7bcy6(VS.80).aspx. According to the
  5376  // information there, using __declspec(dllexport) without "extern" we have a
  5377  // definition; with "extern" we have a declaration. The settings here override the
  5378  // setting in pcre2.h (which is included below); it defines only PCRE2_EXP_DECL,
  5379  // which is all that is needed for applications (they just import the symbols). We
  5380  // use:
  5381  //
  5382  //   PCRE2_EXP_DECL    for declarations
  5383  //   PCRE2_EXP_DEFN    for definitions
  5384  //
  5385  // The reason for wrapping this in #ifndef PCRE2_EXP_DECL is so that pcre2test,
  5386  // which is an application, but needs to import this file in order to "peek" at
  5387  // internals, can #include pcre2.h first to get an application's-eye view.
  5388  //
  5389  // In principle, people compiling for non-Windows, non-Unix-like (i.e. uncommon,
  5390  // special-purpose environments) might want to stick other stuff in front of
  5391  // exported symbols. That's why, in the non-Windows case, we set PCRE2_EXP_DEFN
  5392  // only if it is not already set.
  5393  
  5394  // Include the public PCRE2 header and the definitions of UCP character
  5395  // property values. This must follow the setting of PCRE2_EXP_DECL above.
  5396  
  5397  // ************************************************
  5398  //
  5399  //       Perl-Compatible Regular Expressions      *
  5400  //
  5401  
  5402  // This is the public header file for the PCRE library, second API, to be
  5403  // #included by applications that call PCRE2 functions.
  5404  //
  5405  //            Copyright (c) 2016-2021 University of Cambridge
  5406  //
  5407  // -----------------------------------------------------------------------------
  5408  // Redistribution and use in source and binary forms, with or without
  5409  // modification, are permitted provided that the following conditions are met:
  5410  //
  5411  //     * Redistributions of source code must retain the above copyright notice,
  5412  //       this list of conditions and the following disclaimer.
  5413  //
  5414  //     * Redistributions in binary form must reproduce the above copyright
  5415  //       notice, this list of conditions and the following disclaimer in the
  5416  //       documentation and/or other materials provided with the distribution.
  5417  //
  5418  //     * Neither the name of the University of Cambridge nor the names of its
  5419  //       contributors may be used to endorse or promote products derived from
  5420  //       this software without specific prior written permission.
  5421  //
  5422  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  5423  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  5424  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  5425  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  5426  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  5427  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  5428  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  5429  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  5430  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  5431  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  5432  // POSSIBILITY OF SUCH DAMAGE.
  5433  // -----------------------------------------------------------------------------
  5434  
  5435  // The current PCRE version information.
  5436  
  5437  // When an application links to a PCRE DLL in Windows, the symbols that are
  5438  // imported have to be identified as such. When building PCRE2, the appropriate
  5439  // export setting is defined in pcre2_internal.h, which includes this file. So we
  5440  // don't change existing definitions of PCRE2_EXP_DECL.
  5441  
  5442  // By default, we use the standard "extern" declarations.
  5443  
  5444  // When compiling with the MSVC compiler, it is sometimes necessary to include
  5445  // a "calling convention" before exported function names. (This is secondhand
  5446  // information; I know nothing about MSVC myself). For example, something like
  5447  //
  5448  //   void __cdecl function(....)
  5449  //
  5450  // might be needed. In order so make this easy, all the exported functions have
  5451  // PCRE2_CALL_CONVENTION just before their names. It is rarely needed; if not
  5452  // set, we ensure here that it has no effect.
  5453  
  5454  // Have to include limits.h, stdlib.h, and inttypes.h to ensure that size_t and
  5455  // uint8_t, UCHAR_MAX, etc are defined. Some systems that do have inttypes.h do
  5456  // not have stdint.h, which is why we use inttypes.h, which according to the C
  5457  // standard is a superset of stdint.h. If inttypes.h is not available the build
  5458  // will break and the relevant values must be provided by some other means.
  5459  
  5460  // Copyright (C) 1992-2021 Free Software Foundation, Inc.
  5461  //
  5462  // This file is part of GCC.
  5463  //
  5464  // GCC is free software; you can redistribute it and/or modify it under
  5465  // the terms of the GNU General Public License as published by the Free
  5466  // Software Foundation; either version 3, or (at your option) any later
  5467  // version.
  5468  //
  5469  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
  5470  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
  5471  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  5472  // for more details.
  5473  //
  5474  // Under Section 7 of GPL version 3, you are granted additional
  5475  // permissions described in the GCC Runtime Library Exception, version
  5476  // 3.1, as published by the Free Software Foundation.
  5477  //
  5478  // You should have received a copy of the GNU General Public License and
  5479  // a copy of the GCC Runtime Library Exception along with this program;
  5480  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  5481  // <http://www.gnu.org/licenses/>.
  5482  
  5483  // This administrivia gets added to the beginning of limits.h
  5484  //    if the system has its own version of limits.h.
  5485  
  5486  // We use _GCC_LIMITS_H_ because we want this not to match
  5487  //    any macros that the system's limits.h uses for its own purposes.
  5488  
  5489  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  5490  //    Copyright The GNU Toolchain Authors.
  5491  //    This file is part of the GNU C Library.
  5492  //
  5493  //    The GNU C Library is free software; you can redistribute it and/or
  5494  //    modify it under the terms of the GNU Lesser General Public
  5495  //    License as published by the Free Software Foundation; either
  5496  //    version 2.1 of the License, or (at your option) any later version.
  5497  //
  5498  //    The GNU C Library is distributed in the hope that it will be useful,
  5499  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5500  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5501  //    Lesser General Public License for more details.
  5502  //
  5503  //    You should have received a copy of the GNU Lesser General Public
  5504  //    License along with the GNU C Library; if not, see
  5505  //    <https://www.gnu.org/licenses/>.
  5506  
  5507  //	ISO C99 Standard: 7.20 General utilities	<stdlib.h>
  5508  
  5509  // Copyright (C) 1997-2022 Free Software Foundation, Inc.
  5510  //    This file is part of the GNU C Library.
  5511  //
  5512  //    The GNU C Library is free software; you can redistribute it and/or
  5513  //    modify it under the terms of the GNU Lesser General Public
  5514  //    License as published by the Free Software Foundation; either
  5515  //    version 2.1 of the License, or (at your option) any later version.
  5516  //
  5517  //    The GNU C Library is distributed in the hope that it will be useful,
  5518  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5519  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5520  //    Lesser General Public License for more details.
  5521  //
  5522  //    You should have received a copy of the GNU Lesser General Public
  5523  //    License along with the GNU C Library; if not, see
  5524  //    <https://www.gnu.org/licenses/>.
  5525  
  5526  //	ISO C99: 7.8 Format conversion of integer types	<inttypes.h>
  5527  
  5528  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  5529  //    This file is part of the GNU C Library.
  5530  //
  5531  //    The GNU C Library is free software; you can redistribute it and/or
  5532  //    modify it under the terms of the GNU Lesser General Public
  5533  //    License as published by the Free Software Foundation; either
  5534  //    version 2.1 of the License, or (at your option) any later version.
  5535  //
  5536  //    The GNU C Library is distributed in the hope that it will be useful,
  5537  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5538  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5539  //    Lesser General Public License for more details.
  5540  //
  5541  //    You should have received a copy of the GNU Lesser General Public
  5542  //    License along with the GNU C Library; if not, see
  5543  //    <https://www.gnu.org/licenses/>.
  5544  
  5545  // Get the type definitions.
  5546  // Copyright (C) 1997-2022 Free Software Foundation, Inc.
  5547  //    This file is part of the GNU C Library.
  5548  //
  5549  //    The GNU C Library is free software; you can redistribute it and/or
  5550  //    modify it under the terms of the GNU Lesser General Public
  5551  //    License as published by the Free Software Foundation; either
  5552  //    version 2.1 of the License, or (at your option) any later version.
  5553  //
  5554  //    The GNU C Library is distributed in the hope that it will be useful,
  5555  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5556  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5557  //    Lesser General Public License for more details.
  5558  //
  5559  //    You should have received a copy of the GNU Lesser General Public
  5560  //    License along with the GNU C Library; if not, see
  5561  //    <https://www.gnu.org/licenses/>.
  5562  
  5563  //	ISO C99: 7.18 Integer types <stdint.h>
  5564  
  5565  // Handle feature test macros at the start of a header.
  5566  //    Copyright (C) 2016-2022 Free Software Foundation, Inc.
  5567  //    This file is part of the GNU C Library.
  5568  //
  5569  //    The GNU C Library is free software; you can redistribute it and/or
  5570  //    modify it under the terms of the GNU Lesser General Public
  5571  //    License as published by the Free Software Foundation; either
  5572  //    version 2.1 of the License, or (at your option) any later version.
  5573  //
  5574  //    The GNU C Library is distributed in the hope that it will be useful,
  5575  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5576  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5577  //    Lesser General Public License for more details.
  5578  //
  5579  //    You should have received a copy of the GNU Lesser General Public
  5580  //    License along with the GNU C Library; if not, see
  5581  //    <https://www.gnu.org/licenses/>.
  5582  
  5583  // This header is internal to glibc and should not be included outside
  5584  //    of glibc headers.  Headers including it must define
  5585  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  5586  //    cannot have multiple include guards because ISO C feature test
  5587  //    macros depend on the definition of the macro when an affected
  5588  //    header is included, not when the first system header is
  5589  //    included.
  5590  
  5591  // Copyright (C) 1991-2022 Free Software Foundation, Inc.
  5592  //    This file is part of the GNU C Library.
  5593  //
  5594  //    The GNU C Library is free software; you can redistribute it and/or
  5595  //    modify it under the terms of the GNU Lesser General Public
  5596  //    License as published by the Free Software Foundation; either
  5597  //    version 2.1 of the License, or (at your option) any later version.
  5598  //
  5599  //    The GNU C Library is distributed in the hope that it will be useful,
  5600  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5601  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5602  //    Lesser General Public License for more details.
  5603  //
  5604  //    You should have received a copy of the GNU Lesser General Public
  5605  //    License along with the GNU C Library; if not, see
  5606  //    <https://www.gnu.org/licenses/>.
  5607  
  5608  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  5609  //    macro.
  5610  
  5611  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  5612  //    macro.  Most but not all symbols enabled by that macro in TS
  5613  //    18661-1 are enabled unconditionally in C2X.  In C2X, the symbols in
  5614  //    Annex F still require a new feature test macro
  5615  //    __STDC_WANT_IEC_60559_EXT__ instead (C2X does not define
  5616  //    __STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS
  5617  //    18661-1 are not included in C2X (and thus should depend on
  5618  //    __STDC_WANT_IEC_60559_BFP_EXT__ even when C2X features are
  5619  //    enabled).
  5620  //
  5621  //    __GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS
  5622  //    18661-1 not included in C2X.
  5623  //
  5624  //    __GLIBC_USE (IEC_60559_BFP_EXT_C2X) controls those features from TS
  5625  //    18661-1 that are also included in C2X (with no feature test macro
  5626  //    required in C2X).
  5627  //
  5628  //    __GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1
  5629  //    that are included in C2X but conditional on
  5630  //    __STDC_WANT_IEC_60559_EXT__.  (There are currently no features
  5631  //    conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS
  5632  //    18661-1.)
  5633  
  5634  // ISO/IEC TS 18661-4:2015 defines the
  5635  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  5636  //    functions, the symbols from this TS are enabled unconditionally in
  5637  //    C2X.
  5638  
  5639  // ISO/IEC TS 18661-3:2015 defines the
  5640  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  5641  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5642  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  5643  //    This file is part of the GNU C Library.
  5644  //
  5645  //    The GNU C Library is free software; you can redistribute it and/or
  5646  //    modify it under the terms of the GNU Lesser General Public
  5647  //    License as published by the Free Software Foundation; either
  5648  //    version 2.1 of the License, or (at your option) any later version.
  5649  //
  5650  //    The GNU C Library is distributed in the hope that it will be useful,
  5651  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5652  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5653  //    Lesser General Public License for more details.
  5654  //
  5655  //    You should have received a copy of the GNU Lesser General Public
  5656  //    License along with the GNU C Library; if not, see
  5657  //    <https://www.gnu.org/licenses/>.
  5658  
  5659  // Never include this file directly; use <sys/types.h> instead.
  5660  
  5661  // wchar_t type related definitions.
  5662  //    Copyright (C) 2000-2022 Free Software Foundation, Inc.
  5663  //    This file is part of the GNU C Library.
  5664  //
  5665  //    The GNU C Library is free software; you can redistribute it and/or
  5666  //    modify it under the terms of the GNU Lesser General Public
  5667  //    License as published by the Free Software Foundation; either
  5668  //    version 2.1 of the License, or (at your option) any later version.
  5669  //
  5670  //    The GNU C Library is distributed in the hope that it will be useful,
  5671  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5672  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5673  //    Lesser General Public License for more details.
  5674  //
  5675  //    You should have received a copy of the GNU Lesser General Public
  5676  //    License along with the GNU C Library; if not, see
  5677  //    <https://www.gnu.org/licenses/>.
  5678  
  5679  // The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__
  5680  //    are not defined, give the right value and type as long as both int
  5681  //    and wchar_t are 32-bit types.  Adding L'\0' to a constant value
  5682  //    ensures that the type is correct; it is necessary to use (L'\0' +
  5683  //    0) rather than just L'\0' so that the type in C++ is the promoted
  5684  //    version of wchar_t rather than the distinct wchar_t type itself.
  5685  //    Because wchar_t in preprocessor #if expressions is treated as
  5686  //    intmax_t or uintmax_t, the expression (L'\0' - 1) would have the
  5687  //    wrong value for WCHAR_MAX in such expressions and so cannot be used
  5688  //    to define __WCHAR_MAX in the unsigned case.
  5689  
  5690  // Determine the wordsize from the preprocessor defines.
  5691  
  5692  // Both x86-64 and x32 use the 64-bit system call interface.
  5693  
  5694  // Exact integral types.
  5695  
  5696  // Signed.
  5697  // Define intN_t types.
  5698  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  5699  //    This file is part of the GNU C Library.
  5700  //
  5701  //    The GNU C Library is free software; you can redistribute it and/or
  5702  //    modify it under the terms of the GNU Lesser General Public
  5703  //    License as published by the Free Software Foundation; either
  5704  //    version 2.1 of the License, or (at your option) any later version.
  5705  //
  5706  //    The GNU C Library is distributed in the hope that it will be useful,
  5707  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5708  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5709  //    Lesser General Public License for more details.
  5710  //
  5711  //    You should have received a copy of the GNU Lesser General Public
  5712  //    License along with the GNU C Library; if not, see
  5713  //    <https://www.gnu.org/licenses/>.
  5714  
  5715  // Unsigned.
  5716  // Define uintN_t types.
  5717  //    Copyright (C) 2017-2022 Free Software Foundation, Inc.
  5718  //    This file is part of the GNU C Library.
  5719  //
  5720  //    The GNU C Library is free software; you can redistribute it and/or
  5721  //    modify it under the terms of the GNU Lesser General Public
  5722  //    License as published by the Free Software Foundation; either
  5723  //    version 2.1 of the License, or (at your option) any later version.
  5724  //
  5725  //    The GNU C Library is distributed in the hope that it will be useful,
  5726  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5727  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5728  //    Lesser General Public License for more details.
  5729  //
  5730  //    You should have received a copy of the GNU Lesser General Public
  5731  //    License along with the GNU C Library; if not, see
  5732  //    <https://www.gnu.org/licenses/>.
  5733  
  5734  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5735  //    Copyright (C) 2002-2022 Free Software Foundation, Inc.
  5736  //    This file is part of the GNU C Library.
  5737  //
  5738  //    The GNU C Library is free software; you can redistribute it and/or
  5739  //    modify it under the terms of the GNU Lesser General Public
  5740  //    License as published by the Free Software Foundation; either
  5741  //    version 2.1 of the License, or (at your option) any later version.
  5742  //
  5743  //    The GNU C Library is distributed in the hope that it will be useful,
  5744  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5745  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5746  //    Lesser General Public License for more details.
  5747  //
  5748  //    You should have received a copy of the GNU Lesser General Public
  5749  //    License along with the GNU C Library; if not, see
  5750  //    <https://www.gnu.org/licenses/>.
  5751  
  5752  // Never include this file directly; use <sys/types.h> instead.
  5753  
  5754  type Tuint8_t = T__uint8_t   /* stdint-uintn.h:24:19 */
  5755  type Tuint16_t = T__uint16_t /* stdint-uintn.h:25:20 */
  5756  type Tuint32_t = T__uint32_t /* stdint-uintn.h:26:20 */
  5757  type Tuint64_t = T__uint64_t /* stdint-uintn.h:27:20 */
  5758  
  5759  // Small types.
  5760  
  5761  // Signed.
  5762  type Tint_least8_t = T__int_least8_t   /* stdint.h:43:24 */
  5763  type Tint_least16_t = T__int_least16_t /* stdint.h:44:25 */
  5764  type Tint_least32_t = T__int_least32_t /* stdint.h:45:25 */
  5765  type Tint_least64_t = T__int_least64_t /* stdint.h:46:25 */
  5766  
  5767  // Unsigned.
  5768  type Tuint_least8_t = T__uint_least8_t   /* stdint.h:49:25 */
  5769  type Tuint_least16_t = T__uint_least16_t /* stdint.h:50:26 */
  5770  type Tuint_least32_t = T__uint_least32_t /* stdint.h:51:26 */
  5771  type Tuint_least64_t = T__uint_least64_t /* stdint.h:52:26 */
  5772  
  5773  // Fast types.
  5774  
  5775  // Signed.
  5776  type Tint_fast8_t = int8   /* stdint.h:58:22 */
  5777  type Tint_fast16_t = int64 /* stdint.h:60:19 */
  5778  type Tint_fast32_t = int64 /* stdint.h:61:19 */
  5779  type Tint_fast64_t = int64 /* stdint.h:62:19 */
  5780  
  5781  // Unsigned.
  5782  type Tuint_fast8_t = uint8   /* stdint.h:71:24 */
  5783  type Tuint_fast16_t = uint64 /* stdint.h:73:27 */
  5784  type Tuint_fast32_t = uint64 /* stdint.h:74:27 */
  5785  type Tuint_fast64_t = uint64 /* stdint.h:75:27 */
  5786  
  5787  // Types for `void *' pointers.
  5788  type Tintptr_t = int64   /* stdint.h:87:19 */
  5789  type Tuintptr_t = uint64 /* stdint.h:90:27 */
  5790  
  5791  // Largest integral types.
  5792  type Tintmax_t = T__intmax_t   /* stdint.h:101:21 */
  5793  type Tuintmax_t = T__uintmax_t /* stdint.h:102:22 */
  5794  
  5795  // Limits of integral types.
  5796  
  5797  // Minimum of signed integral types.
  5798  // Maximum of signed integral types.
  5799  
  5800  // Maximum of unsigned integral types.
  5801  
  5802  // Minimum of signed integral types having a minimum size.
  5803  // Maximum of signed integral types having a minimum size.
  5804  
  5805  // Maximum of unsigned integral types having a minimum size.
  5806  
  5807  // Minimum of fast signed integral types having a minimum size.
  5808  // Maximum of fast signed integral types having a minimum size.
  5809  
  5810  // Maximum of fast unsigned integral types having a minimum size.
  5811  
  5812  // Values to test for integral types holding `void *' pointer.
  5813  
  5814  // Minimum for largest signed integral type.
  5815  // Maximum for largest signed integral type.
  5816  
  5817  // Maximum for largest unsigned integral type.
  5818  
  5819  // Limits of other integer types.
  5820  
  5821  // Limits of `ptrdiff_t' type.
  5822  
  5823  // Limits of `sig_atomic_t'.
  5824  
  5825  // Limit of `size_t' type.
  5826  
  5827  // Limits of `wchar_t'.
  5828  // These constants might also be defined in <wchar.h>.
  5829  
  5830  // Limits of `wint_t'.
  5831  
  5832  // Signed.
  5833  
  5834  // Unsigned.
  5835  
  5836  // Maximal type.
  5837  
  5838  // Get a definition for wchar_t.  But we must not define wchar_t itself.
  5839  type T__gwchar_t = int32 /* inttypes.h:34:24 */
  5840  
  5841  // Macros for printing format specifiers.
  5842  
  5843  // Decimal notation.
  5844  
  5845  // Octal notation.
  5846  
  5847  // Unsigned integers.
  5848  
  5849  // lowercase hexadecimal notation.
  5850  
  5851  // UPPERCASE hexadecimal notation.
  5852  
  5853  // Macros for printing `intmax_t' and `uintmax_t'.
  5854  
  5855  // Macros for printing `intptr_t' and `uintptr_t'.
  5856  
  5857  // Macros for scanning format specifiers.
  5858  
  5859  // Signed decimal notation.
  5860  
  5861  // Signed decimal notation.
  5862  
  5863  // Unsigned decimal notation.
  5864  
  5865  // Octal notation.
  5866  
  5867  // Hexadecimal notation.
  5868  
  5869  // Macros for scanning `intmax_t' and `uintmax_t'.
  5870  
  5871  // Macros for scaning `intptr_t' and `uintptr_t'.
  5872  
  5873  // We have to define the `uintmax_t' type using `ldiv_t'.
  5874  type Timaxdiv_t = struct {
  5875  	Fquot int64
  5876  	Frem  int64
  5877  } /* inttypes.h:275:5 */
  5878  
  5879  // Allow for C++ users compiling this directly.
  5880  
  5881  // The following option bits can be passed to pcre2_compile(), pcre2_match(),
  5882  // or pcre2_dfa_match(). PCRE2_NO_UTF_CHECK affects only the function to which it
  5883  // is passed. Put these bits at the most significant end of the options word so
  5884  // others can be added next to them
  5885  
  5886  // The following option bits can be passed only to pcre2_compile(). However,
  5887  // they may affect compilation, JIT compilation, and/or interpretive execution.
  5888  // The following tags indicate which:
  5889  //
  5890  // C   alters what is compiled by pcre2_compile()
  5891  // J   alters what is compiled by pcre2_jit_compile()
  5892  // M   is inspected during pcre2_match() execution
  5893  // D   is inspected during pcre2_dfa_match() execution
  5894  
  5895  // An additional compile options word is available in the compile context.
  5896  
  5897  // These are for pcre2_jit_compile().
  5898  
  5899  // These are for pcre2_match(), pcre2_dfa_match(), pcre2_jit_match(), and
  5900  // pcre2_substitute(). Some are allowed only for one of the functions, and in
  5901  // these cases it is noted below. Note that PCRE2_ANCHORED, PCRE2_ENDANCHORED and
  5902  // PCRE2_NO_UTF_CHECK can also be passed to these functions (though
  5903  // pcre2_jit_match() ignores the latter since it bypasses all sanity checks).
  5904  
  5905  // Options for pcre2_pattern_convert().
  5906  
  5907  // Newline and \R settings, for use in compile contexts. The newline values
  5908  // must be kept in step with values set in config.h and both sets must all be
  5909  // greater than zero.
  5910  
  5911  // Error codes for pcre2_compile(). Some of these are also used by
  5912  // pcre2_pattern_convert().
  5913  
  5914  // Error 159 is obsolete and should now never occur
  5915  
  5916  // "Expected" matching error codes: no match and partial match.
  5917  
  5918  // Error codes for UTF-8 validity checks
  5919  
  5920  // Error codes for UTF-16 validity checks
  5921  
  5922  // Error codes for UTF-32 validity checks
  5923  
  5924  // Miscellaneous error codes for pcre2[_dfa]_match(), substring extraction
  5925  // functions, context functions, and serializing functions. They are in numerical
  5926  // order. Originally they were in alphabetical order too, but now that PCRE2 is
  5927  // released, the numbers must not be changed.
  5928  
  5929  // Request types for pcre2_pattern_info()
  5930  
  5931  // Request types for pcre2_config().
  5932  
  5933  // Types for code units in patterns and subject strings.
  5934  
  5935  type TPCRE2_UCHAR8 = Tuint8_t   /* pcre2.h:458:18 */
  5936  type TPCRE2_UCHAR16 = Tuint16_t /* pcre2.h:459:18 */
  5937  type TPCRE2_UCHAR32 = Tuint32_t /* pcre2.h:460:18 */
  5938  
  5939  type TPCRE2_SPTR8 = uintptr  /* pcre2.h:462:29 */
  5940  type TPCRE2_SPTR16 = uintptr /* pcre2.h:463:29 */
  5941  type TPCRE2_SPTR32 = uintptr /* pcre2.h:464:29 */
  5942  
  5943  // The PCRE2_SIZE type is used for all string lengths and offsets in PCRE2,
  5944  // including pattern offsets for errors and subject offsets after a match. We
  5945  // define special values to indicate zero-terminated strings and unset offsets in
  5946  // the offset vector (ovector).
  5947  
  5948  // Generic types for opaque structures and JIT callback functions. These
  5949  // declarations are defined in a macro that is expanded for each width later.
  5950  
  5951  // The structures for passing out data via callout functions. We use structures
  5952  // so that new fields can be added on the end in future versions, without changing
  5953  // the API of the function, thereby allowing old clients to work without
  5954  // modification. Define the generic versions in a macro; the width-specific
  5955  // versions are generated from this macro below.
  5956  
  5957  // Flags for the callout_flags field. These are cleared after a callout.
  5958  
  5959  // List the generic forms of all other functions in macros, which will be
  5960  // expanded for each width below. Start with functions that give general
  5961  // information.
  5962  
  5963  // Functions for manipulating contexts.
  5964  
  5965  // Functions concerned with compiling a pattern to PCRE internal code.
  5966  
  5967  // Functions that give information about a compiled pattern.
  5968  
  5969  // Functions for running a match and inspecting the result.
  5970  
  5971  // Convenience functions for handling matched substrings.
  5972  
  5973  // Functions for serializing / deserializing compiled patterns.
  5974  
  5975  // Convenience function for match + substitute.
  5976  
  5977  // Functions for converting pattern source strings.
  5978  
  5979  // Functions for JIT processing
  5980  
  5981  // Other miscellaneous functions.
  5982  
  5983  // Define macros that generate width-specific names from generic versions. The
  5984  // three-level macro scheme is necessary to get the macros expanded when we want
  5985  // them to be. First we get the width from PCRE2_LOCAL_WIDTH, which is used for
  5986  // generating three versions of everything below. After that, PCRE2_SUFFIX will be
  5987  // re-defined to use PCRE2_CODE_UNIT_WIDTH, for use when macros such as
  5988  // pcre2_compile are called by application code.
  5989  
  5990  // Data types
  5991  
  5992  // Data blocks
  5993  
  5994  // Functions: the complete list in alphabetical order
  5995  
  5996  // Keep this old function name for backwards compatibility
  5997  
  5998  // Keep this obsolete function for backwards compatibility: it is now a noop.
  5999  
  6000  // Now generate all three sets of width-specific structures and function
  6001  // prototypes.
  6002  
  6003  type Spcre2_real_general_context_8 = struct{ Fmemctl Tpcre2_memctl } /* pcre2.h:935:1 */
  6004  
  6005  type Tpcre2_general_context_8 = Spcre2_real_general_context_8 /* pcre2.h:935:1 */
  6006  type Spcre2_real_compile_context_8 = struct {
  6007  	Fmemctl             Tpcre2_memctl
  6008  	Fstack_guard        uintptr
  6009  	Fstack_guard_data   uintptr
  6010  	Ftables             uintptr
  6011  	Fmax_pattern_length Tsize_t
  6012  	Fbsr_convention     Tuint16_t
  6013  	Fnewline_convention Tuint16_t
  6014  	Fparens_nest_limit  Tuint32_t
  6015  	Fextra_options      Tuint32_t
  6016  	F__ccgo_pad1        [4]byte
  6017  } /* pcre2.h:935:1 */
  6018  
  6019  type Tpcre2_compile_context_8 = Spcre2_real_compile_context_8 /* pcre2.h:935:1 */
  6020  type Spcre2_real_match_context_8 = struct {
  6021  	Fmemctl                  Tpcre2_memctl
  6022  	Fcallout                 uintptr
  6023  	Fcallout_data            uintptr
  6024  	Fsubstitute_callout      uintptr
  6025  	Fsubstitute_callout_data uintptr
  6026  	Foffset_limit            Tsize_t
  6027  	Fheap_limit              Tuint32_t
  6028  	Fmatch_limit             Tuint32_t
  6029  	Fdepth_limit             Tuint32_t
  6030  	F__ccgo_pad1             [4]byte
  6031  } /* pcre2.h:935:1 */
  6032  
  6033  type Tpcre2_match_context_8 = Spcre2_real_match_context_8 /* pcre2.h:935:1 */
  6034  type Spcre2_real_convert_context_8 = struct {
  6035  	Fmemctl         Tpcre2_memctl
  6036  	Fglob_separator Tuint32_t
  6037  	Fglob_escape    Tuint32_t
  6038  } /* pcre2.h:935:1 */
  6039  
  6040  type Tpcre2_convert_context_8 = Spcre2_real_convert_context_8 /* pcre2.h:935:1 */
  6041  type Spcre2_real_code_8 = struct {
  6042  	Fmemctl             Tpcre2_memctl
  6043  	Ftables             uintptr
  6044  	Fexecutable_jit     uintptr
  6045  	Fstart_bitmap       [32]Tuint8_t
  6046  	Fblocksize          Tsize_t
  6047  	Fmagic_number       Tuint32_t
  6048  	Fcompile_options    Tuint32_t
  6049  	Foverall_options    Tuint32_t
  6050  	Fextra_options      Tuint32_t
  6051  	Fflags              Tuint32_t
  6052  	Flimit_heap         Tuint32_t
  6053  	Flimit_match        Tuint32_t
  6054  	Flimit_depth        Tuint32_t
  6055  	Ffirst_codeunit     Tuint32_t
  6056  	Flast_codeunit      Tuint32_t
  6057  	Fbsr_convention     Tuint16_t
  6058  	Fnewline_convention Tuint16_t
  6059  	Fmax_lookbehind     Tuint16_t
  6060  	Fminlength          Tuint16_t
  6061  	Ftop_bracket        Tuint16_t
  6062  	Ftop_backref        Tuint16_t
  6063  	Fname_entry_size    Tuint16_t
  6064  	Fname_count         Tuint16_t
  6065  } /* pcre2.h:935:1 */
  6066  
  6067  type Tpcre2_code_8 = Spcre2_real_code_8 /* pcre2.h:935:1 */
  6068  type Spcre2_real_match_data_8 = struct {
  6069  	Fmemctl    Tpcre2_memctl
  6070  	Fcode      uintptr
  6071  	Fsubject   TPCRE2_SPTR8
  6072  	Fmark      TPCRE2_SPTR8
  6073  	Fleftchar  Tsize_t
  6074  	Frightchar Tsize_t
  6075  	Fstartchar Tsize_t
  6076  	Fmatchedby Tuint8_t
  6077  	Fflags     Tuint8_t
  6078  	Foveccount Tuint16_t
  6079  	Frc        int32
  6080  	Fovector   [131072]Tsize_t
  6081  } /* pcre2.h:935:1 */
  6082  
  6083  type Tpcre2_match_data_8 = Spcre2_real_match_data_8 /* pcre2.h:935:1 */
  6084  type Spcre2_real_jit_stack_8 = struct {
  6085  	Fmemctl Tpcre2_memctl
  6086  	Fstack  uintptr
  6087  } /* pcre2.h:935:1 */
  6088  
  6089  type Tpcre2_jit_stack_8 = Spcre2_real_jit_stack_8 /* pcre2.h:935:1 */
  6090  type Tpcre2_jit_callback_8 = uintptr              /* pcre2.h:935:1 */
  6091  type Spcre2_callout_block_8 = struct {
  6092  	Fversion               Tuint32_t
  6093  	Fcallout_number        Tuint32_t
  6094  	Fcapture_top           Tuint32_t
  6095  	Fcapture_last          Tuint32_t
  6096  	Foffset_vector         uintptr
  6097  	Fmark                  TPCRE2_SPTR8
  6098  	Fsubject               TPCRE2_SPTR8
  6099  	Fsubject_length        Tsize_t
  6100  	Fstart_match           Tsize_t
  6101  	Fcurrent_position      Tsize_t
  6102  	Fpattern_position      Tsize_t
  6103  	Fnext_item_length      Tsize_t
  6104  	Fcallout_string_offset Tsize_t
  6105  	Fcallout_string_length Tsize_t
  6106  	Fcallout_string        TPCRE2_SPTR8
  6107  	Fcallout_flags         Tuint32_t
  6108  	F__ccgo_pad1           [4]byte
  6109  } /* pcre2.h:935:1 */
  6110  
  6111  type Tpcre2_callout_block_8 = Spcre2_callout_block_8 /* pcre2.h:935:1 */
  6112  type Spcre2_callout_enumerate_block_8 = struct {
  6113  	Fversion               Tuint32_t
  6114  	F__ccgo_pad1           [4]byte
  6115  	Fpattern_position      Tsize_t
  6116  	Fnext_item_length      Tsize_t
  6117  	Fcallout_number        Tuint32_t
  6118  	F__ccgo_pad2           [4]byte
  6119  	Fcallout_string_offset Tsize_t
  6120  	Fcallout_string_length Tsize_t
  6121  	Fcallout_string        TPCRE2_SPTR8
  6122  } /* pcre2.h:935:1 */
  6123  
  6124  type Tpcre2_callout_enumerate_block_8 = Spcre2_callout_enumerate_block_8 /* pcre2.h:935:1 */
  6125  type Spcre2_substitute_callout_block_8 = struct {
  6126  	Fversion        Tuint32_t
  6127  	F__ccgo_pad1    [4]byte
  6128  	Finput          TPCRE2_SPTR8
  6129  	Foutput         TPCRE2_SPTR8
  6130  	Foutput_offsets [2]Tsize_t
  6131  	Fovector        uintptr
  6132  	Foveccount      Tuint32_t
  6133  	Fsubscount      Tuint32_t
  6134  } /* pcre2.h:935:1 */
  6135  
  6136  type Tpcre2_substitute_callout_block_8 = Spcre2_substitute_callout_block_8 /* pcre2.h:935:1 */
  6137  type Tpcre2_jit_callback_16 = uintptr                                      /* pcre2.h:939:1 */
  6138  type Spcre2_callout_block_16 = struct {
  6139  	Fversion               Tuint32_t
  6140  	Fcallout_number        Tuint32_t
  6141  	Fcapture_top           Tuint32_t
  6142  	Fcapture_last          Tuint32_t
  6143  	Foffset_vector         uintptr
  6144  	Fmark                  TPCRE2_SPTR16
  6145  	Fsubject               TPCRE2_SPTR16
  6146  	Fsubject_length        Tsize_t
  6147  	Fstart_match           Tsize_t
  6148  	Fcurrent_position      Tsize_t
  6149  	Fpattern_position      Tsize_t
  6150  	Fnext_item_length      Tsize_t
  6151  	Fcallout_string_offset Tsize_t
  6152  	Fcallout_string_length Tsize_t
  6153  	Fcallout_string        TPCRE2_SPTR16
  6154  	Fcallout_flags         Tuint32_t
  6155  	F__ccgo_pad1           [4]byte
  6156  } /* pcre2.h:939:1 */
  6157  
  6158  type Tpcre2_callout_block_16 = Spcre2_callout_block_16 /* pcre2.h:939:1 */
  6159  type Spcre2_callout_enumerate_block_16 = struct {
  6160  	Fversion               Tuint32_t
  6161  	F__ccgo_pad1           [4]byte
  6162  	Fpattern_position      Tsize_t
  6163  	Fnext_item_length      Tsize_t
  6164  	Fcallout_number        Tuint32_t
  6165  	F__ccgo_pad2           [4]byte
  6166  	Fcallout_string_offset Tsize_t
  6167  	Fcallout_string_length Tsize_t
  6168  	Fcallout_string        TPCRE2_SPTR16
  6169  } /* pcre2.h:939:1 */
  6170  
  6171  type Tpcre2_callout_enumerate_block_16 = Spcre2_callout_enumerate_block_16 /* pcre2.h:939:1 */
  6172  type Spcre2_substitute_callout_block_16 = struct {
  6173  	Fversion        Tuint32_t
  6174  	F__ccgo_pad1    [4]byte
  6175  	Finput          TPCRE2_SPTR16
  6176  	Foutput         TPCRE2_SPTR16
  6177  	Foutput_offsets [2]Tsize_t
  6178  	Fovector        uintptr
  6179  	Foveccount      Tuint32_t
  6180  	Fsubscount      Tuint32_t
  6181  } /* pcre2.h:939:1 */
  6182  
  6183  type Tpcre2_substitute_callout_block_16 = Spcre2_substitute_callout_block_16 /* pcre2.h:939:1 */
  6184  type Tpcre2_jit_callback_32 = uintptr                                        /* pcre2.h:943:1 */
  6185  type Spcre2_callout_block_32 = struct {
  6186  	Fversion               Tuint32_t
  6187  	Fcallout_number        Tuint32_t
  6188  	Fcapture_top           Tuint32_t
  6189  	Fcapture_last          Tuint32_t
  6190  	Foffset_vector         uintptr
  6191  	Fmark                  TPCRE2_SPTR32
  6192  	Fsubject               TPCRE2_SPTR32
  6193  	Fsubject_length        Tsize_t
  6194  	Fstart_match           Tsize_t
  6195  	Fcurrent_position      Tsize_t
  6196  	Fpattern_position      Tsize_t
  6197  	Fnext_item_length      Tsize_t
  6198  	Fcallout_string_offset Tsize_t
  6199  	Fcallout_string_length Tsize_t
  6200  	Fcallout_string        TPCRE2_SPTR32
  6201  	Fcallout_flags         Tuint32_t
  6202  	F__ccgo_pad1           [4]byte
  6203  } /* pcre2.h:943:1 */
  6204  
  6205  type Tpcre2_callout_block_32 = Spcre2_callout_block_32 /* pcre2.h:943:1 */
  6206  type Spcre2_callout_enumerate_block_32 = struct {
  6207  	Fversion               Tuint32_t
  6208  	F__ccgo_pad1           [4]byte
  6209  	Fpattern_position      Tsize_t
  6210  	Fnext_item_length      Tsize_t
  6211  	Fcallout_number        Tuint32_t
  6212  	F__ccgo_pad2           [4]byte
  6213  	Fcallout_string_offset Tsize_t
  6214  	Fcallout_string_length Tsize_t
  6215  	Fcallout_string        TPCRE2_SPTR32
  6216  } /* pcre2.h:943:1 */
  6217  
  6218  type Tpcre2_callout_enumerate_block_32 = Spcre2_callout_enumerate_block_32 /* pcre2.h:943:1 */
  6219  type Spcre2_substitute_callout_block_32 = struct {
  6220  	Fversion        Tuint32_t
  6221  	F__ccgo_pad1    [4]byte
  6222  	Finput          TPCRE2_SPTR32
  6223  	Foutput         TPCRE2_SPTR32
  6224  	Foutput_offsets [2]Tsize_t
  6225  	Fovector        uintptr
  6226  	Foveccount      Tuint32_t
  6227  	Fsubscount      Tuint32_t
  6228  } /* pcre2.h:943:1 */
  6229  
  6230  type Tpcre2_substitute_callout_block_32 = Spcre2_substitute_callout_block_32 /* pcre2.h:943:1 */
  6231  
  6232  // *** NOTE NOTE NOTE *** Whenever the list above is updated, the two macro
  6233  // definitions that follow must also be updated to match. There are also tables
  6234  // called "opcode_possessify" in pcre2_compile.c and "coptable" and "poptable" in
  6235  // pcre2_dfa_match.c that must be updated.
  6236  
  6237  // This macro defines textual names for all the opcodes. These are used only
  6238  // for debugging, and some of them are only partial names. The macro is referenced
  6239  // only in pcre2_printint.c, which fills out the full names in many cases (and in
  6240  // some cases doesn't actually use these names at all).
  6241  
  6242  // This macro defines the length of fixed length operations in the compiled
  6243  // regex. The lengths are used when searching for specific things, and also in the
  6244  // debugging printing of a compiled regex. We use a macro so that it can be
  6245  // defined close to the definitions of the opcodes themselves.
  6246  //
  6247  // As things have been extended, some of these are no longer fixed lenths, but are
  6248  // minima instead. For example, the length of a single-character repeat may vary
  6249  // in UTF-8 mode. The code that uses this table must know about such things.
  6250  
  6251  // A magic value for OP_RREF to indicate the "any recursion" condition.
  6252  
  6253  // ---------- Private structures that are mode-independent. ----------
  6254  
  6255  // Structure to hold data for custom memory management.
  6256  
  6257  type Spcre2_memctl = struct {
  6258  	Fmalloc      uintptr
  6259  	Ffree        uintptr
  6260  	Fmemory_data uintptr
  6261  } /* pcre2.h:935:1 */
  6262  
  6263  // *** NOTE NOTE NOTE *** Whenever the list above is updated, the two macro
  6264  // definitions that follow must also be updated to match. There are also tables
  6265  // called "opcode_possessify" in pcre2_compile.c and "coptable" and "poptable" in
  6266  // pcre2_dfa_match.c that must be updated.
  6267  
  6268  // This macro defines textual names for all the opcodes. These are used only
  6269  // for debugging, and some of them are only partial names. The macro is referenced
  6270  // only in pcre2_printint.c, which fills out the full names in many cases (and in
  6271  // some cases doesn't actually use these names at all).
  6272  
  6273  // This macro defines the length of fixed length operations in the compiled
  6274  // regex. The lengths are used when searching for specific things, and also in the
  6275  // debugging printing of a compiled regex. We use a macro so that it can be
  6276  // defined close to the definitions of the opcodes themselves.
  6277  //
  6278  // As things have been extended, some of these are no longer fixed lenths, but are
  6279  // minima instead. For example, the length of a single-character repeat may vary
  6280  // in UTF-8 mode. The code that uses this table must know about such things.
  6281  
  6282  // A magic value for OP_RREF to indicate the "any recursion" condition.
  6283  
  6284  // ---------- Private structures that are mode-independent. ----------
  6285  
  6286  // Structure to hold data for custom memory management.
  6287  
  6288  type Tpcre2_memctl = Spcre2_memctl /* pcre2_internal.h:1794:3 */
  6289  
  6290  // Structure for building a chain of open capturing subpatterns during
  6291  // compiling, so that instructions to close them can be compiled when (*ACCEPT) is
  6292  // encountered.
  6293  
  6294  type Sopen_capitem = struct {
  6295  	Fnext         uintptr
  6296  	Fnumber       Tuint16_t
  6297  	Fassert_depth Tuint16_t
  6298  	F__ccgo_pad1  [4]byte
  6299  } /* pcre2_internal.h:1800:9 */
  6300  
  6301  // Structure for building a chain of open capturing subpatterns during
  6302  // compiling, so that instructions to close them can be compiled when (*ACCEPT) is
  6303  // encountered.
  6304  
  6305  type Topen_capitem = Sopen_capitem /* pcre2_internal.h:1804:3 */
  6306  
  6307  // Layout of the UCP type table that translates property names into types and
  6308  // codes. Each entry used to point directly to a name, but to reduce the number of
  6309  // relocations in shared libraries, it now has an offset into a single string
  6310  // instead.
  6311  
  6312  type Tucp_type_table = struct {
  6313  	Fname_offset Tuint16_t
  6314  	Ftype        Tuint16_t
  6315  	Fvalue       Tuint16_t
  6316  } /* pcre2_internal.h:1815:3 */
  6317  
  6318  // Unicode character database (UCD) record format
  6319  
  6320  type Tucd_record = struct {
  6321  	Fscript            Tuint8_t
  6322  	Fchartype          Tuint8_t
  6323  	Fgbprop            Tuint8_t
  6324  	Fcaseset           Tuint8_t
  6325  	Fother_case        Tint32_t
  6326  	Fscriptx_bidiclass Tuint16_t
  6327  	Fbprops            Tuint16_t
  6328  } /* pcre2_internal.h:1827:3 */
  6329  
  6330  // UCD access macros
  6331  
  6332  // The "scriptx" and bprops fields contain offsets into vectors of 32-bit words
  6333  // that form a bitmap representing a list of scripts or boolean properties. These
  6334  // macros test or set a bit in the map by number.
  6335  
  6336  // Header for serialized pcre2 codes.
  6337  
  6338  type Spcre2_serialized_data = struct {
  6339  	Fmagic           Tuint32_t
  6340  	Fversion         Tuint32_t
  6341  	Fconfig          Tuint32_t
  6342  	Fnumber_of_codes Tint32_t
  6343  } /* pcre2_internal.h:1870:9 */
  6344  
  6345  // UCD access macros
  6346  
  6347  // The "scriptx" and bprops fields contain offsets into vectors of 32-bit words
  6348  // that form a bitmap representing a list of scripts or boolean properties. These
  6349  // macros test or set a bit in the map by number.
  6350  
  6351  // Header for serialized pcre2 codes.
  6352  
  6353  type Tpcre2_serialized_data = Spcre2_serialized_data /* pcre2_internal.h:1875:3 */
  6354  
  6355  // Mode-dependent macros and hidden and private structures are defined in a
  6356  // separate file so that pcre2test can include them at all supported widths. When
  6357  // compiling the library, PCRE2_CODE_UNIT_WIDTH will be defined, and we can
  6358  // include them at the appropriate width, after setting up suffix macros for the
  6359  // private structures.
  6360  
  6361  // ************************************************
  6362  //
  6363  //      Perl-Compatible Regular Expressions       *
  6364  //
  6365  
  6366  // PCRE is a library of functions to support regular expressions whose syntax
  6367  // and semantics are as close as possible to those of the Perl 5 language.
  6368  //
  6369  //                        Written by Philip Hazel
  6370  //      Original API code Copyright (c) 1997-2012 University of Cambridge
  6371  //           New API code Copyright (c) 2016-2018 University of Cambridge
  6372  //
  6373  // -----------------------------------------------------------------------------
  6374  // Redistribution and use in source and binary forms, with or without
  6375  // modification, are permitted provided that the following conditions are met:
  6376  //
  6377  //     * Redistributions of source code must retain the above copyright notice,
  6378  //       this list of conditions and the following disclaimer.
  6379  //
  6380  //     * Redistributions in binary form must reproduce the above copyright
  6381  //       notice, this list of conditions and the following disclaimer in the
  6382  //       documentation and/or other materials provided with the distribution.
  6383  //
  6384  //     * Neither the name of the University of Cambridge nor the names of its
  6385  //       contributors may be used to endorse or promote products derived from
  6386  //       this software without specific prior written permission.
  6387  //
  6388  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  6389  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  6390  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  6391  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  6392  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  6393  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  6394  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  6395  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  6396  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  6397  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  6398  // POSSIBILITY OF SUCH DAMAGE.
  6399  // -----------------------------------------------------------------------------
  6400  
  6401  // This module contains mode-dependent macro and structure definitions. The
  6402  // file is #included by pcre2_internal.h if PCRE2_CODE_UNIT_WIDTH is defined.
  6403  // These mode-dependent items are kept in a separate file so that they can also be
  6404  // #included multiple times for different code unit widths by pcre2test in order
  6405  // to have access to the hidden structures at all supported widths.
  6406  //
  6407  // Some of the mode-dependent macros are required at different widths for
  6408  // different parts of the pcre2test code (in particular, the included
  6409  // pcre_printint.c file). We undefine them here so that they can be re-defined for
  6410  // multiple inclusions. Not all of these are used in pcre2test, but it's easier
  6411  // just to undefine them all.
  6412  
  6413  // -------------------------- MACROS -----------------------------
  6414  
  6415  // PCRE keeps offsets in its compiled code as at least 16-bit quantities
  6416  // (always stored in big-endian order in 8-bit mode) by default. These are used,
  6417  // for example, to link from the start of a subpattern to its alternatives and its
  6418  // end. The use of 16 bits per offset limits the size of an 8-bit compiled regex
  6419  // to around 64K, which is big enough for almost everybody. However, I received a
  6420  // request for an even bigger limit. For this reason, and also to make the code
  6421  // easier to maintain, the storing and loading of offsets from the compiled code
  6422  // unit string is now handled by the macros that are defined here.
  6423  //
  6424  // The macros are controlled by the value of LINK_SIZE. This defaults to 2, but
  6425  // values of 3 or 4 are also supported.
  6426  
  6427  // ------------------- 8-bit support  ------------------
  6428  
  6429  // ------------------- 16-bit support  ------------------
  6430  
  6431  // --------------- Other mode-specific macros -----------------
  6432  
  6433  // PCRE uses some other (at least) 16-bit quantities that do not change when
  6434  // the size of offsets changes. There are used for repeat counts and for other
  6435  // things such as capturing parenthesis numbers in back references.
  6436  //
  6437  // Define the number of code units required to hold a 16-bit count/offset, and
  6438  // macros to load and store such a value. For reasons that I do not understand,
  6439  // the expression in the 8-bit GET2 macro is treated by gcc as a signed
  6440  // expression, even when a is declared as unsigned. It seems that any kind of
  6441  // arithmetic results in a signed value. Hence the cast.
  6442  
  6443  // Other macros that are different for 8-bit mode. The MAX_255 macro checks
  6444  // whether its argument, which is assumed to be one code unit, is less than 256.
  6445  // The CHMAX_255 macro does not assume one code unit. The maximum length of a MARK
  6446  // name must fit in one code unit; currently it is set to 255 or 65535. The
  6447  // TABLE_GET macro is used to access elements of tables containing exactly 256
  6448  // items. Its argument is a code unit. When code points can be greater than 255, a
  6449  // check is needed before accessing these tables.
  6450  
  6451  // ----------------- Character-handling macros -----------------
  6452  
  6453  // There is a proposed future special "UTF-21" mode, in which only the lowest
  6454  // 21 bits of a 32-bit character are interpreted as UTF, with the remaining 11
  6455  // high-order bits available to the application for other uses. In preparation for
  6456  // the future implementation of this mode, there are macros that load a data item
  6457  // and, if in this special mode, mask it to 21 bits. These macros all have names
  6458  // starting with UCHAR21. In all other modes, including the normal 32-bit
  6459  // library, the macros all have the same simple definitions. When the new mode is
  6460  // implemented, it is expected that these definitions will be varied appropriately
  6461  // using #ifdef when compiling the library that supports the special mode.
  6462  
  6463  // When UTF encoding is being used, a character is no longer just a single
  6464  // byte in 8-bit mode or a single short in 16-bit mode. The macros for character
  6465  // handling generate simple sequences when used in the basic mode, and more
  6466  // complicated ones for UTF characters. GETCHARLENTEST and other macros are not
  6467  // used when UTF is not supported. To make sure they can never even appear when
  6468  // UTF support is omitted, we don't even define them.
  6469  
  6470  // ------------------- 8-bit support  ------------------
  6471  
  6472  // The largest UTF code point that can be encoded as a single code unit.
  6473  
  6474  // Tests whether the code point needs extra characters to decode.
  6475  
  6476  // Returns with the additional number of characters if IS_MULTICHAR(c) is TRUE.
  6477  // Otherwise it has an undefined behaviour.
  6478  
  6479  // Returns TRUE, if the given value is not the first code unit of a UTF
  6480  // sequence.
  6481  
  6482  // Get the next UTF-8 character, not advancing the pointer. This is called when
  6483  // we know we are in UTF-8 mode.
  6484  
  6485  // Get the next UTF-8 character, testing for UTF-8 mode, and not advancing the
  6486  // pointer.
  6487  
  6488  // Get the next UTF-8 character, advancing the pointer. This is called when we
  6489  // know we are in UTF-8 mode.
  6490  
  6491  // Get the next character, testing for UTF-8 mode, and advancing the pointer.
  6492  // This is called when we don't know if we are in UTF-8 mode.
  6493  
  6494  // Get the next UTF-8 character, not advancing the pointer, incrementing length
  6495  // if there are extra bytes. This is called when we know we are in UTF-8 mode.
  6496  
  6497  // Get the next UTF-8 character, testing for UTF-8 mode, not advancing the
  6498  // pointer, incrementing length if there are extra bytes. This is called when we
  6499  // do not know if we are in UTF-8 mode.
  6500  
  6501  // If the pointer is not at the start of a character, move it back until
  6502  // it is. This is called only in UTF-8 mode - we don't put a test within the macro
  6503  // because almost all calls are already within a block of UTF-8 only code.
  6504  
  6505  // Same as above, just in the other direction.
  6506  
  6507  // Same as above, but it allows a fully customizable form.
  6508  
  6509  // Deposit a character into memory, returning the number of code units.
  6510  
  6511  // ------------------- 16-bit support  ------------------
  6512  
  6513  // Mode-dependent macros that have the same definition in all modes.
  6514  
  6515  // ----------------------- HIDDEN STRUCTURES -----------------------------
  6516  
  6517  // NOTE: All these structures *must* start with a pcre2_memctl structure. The
  6518  // code that uses them is simpler because it assumes this.
  6519  
  6520  // The real general context structure. At present it holds only data for custom
  6521  // memory control.
  6522  
  6523  type Tpcre2_real_general_context_8 = Spcre2_real_general_context_8 /* pcre2_intmodedep.h:561:3 */
  6524  
  6525  // The real compile context structure
  6526  
  6527  type Tpcre2_real_compile_context_8 = Spcre2_real_compile_context_8 /* pcre2_intmodedep.h:575:3 */
  6528  
  6529  // The real match context structure.
  6530  
  6531  type Tpcre2_real_match_context_8 = Spcre2_real_match_context_8 /* pcre2_intmodedep.h:593:3 */
  6532  
  6533  // The real convert context structure.
  6534  
  6535  type Tpcre2_real_convert_context_8 = Spcre2_real_convert_context_8 /* pcre2_intmodedep.h:601:3 */
  6536  
  6537  // The real compiled code structure. The type for the blocksize field is
  6538  // defined specially because it is required in pcre2_serialize_decode() when
  6539  // copying the size from possibly unaligned memory into a variable of the same
  6540  // type. Use a macro rather than a typedef to avoid compiler warnings when this
  6541  // file is included multiple times by pcre2test. LOOKBEHIND_MAX specifies the
  6542  // largest lookbehind that is supported. (OP_REVERSE in a pattern has a 16-bit
  6543  // argument in 8-bit and 16-bit modes, so we need no more than a 16-bit field
  6544  // here.)
  6545  
  6546  type Tpcre2_real_code_8 = Spcre2_real_code_8 /* pcre2_intmodedep.h:642:3 */
  6547  
  6548  // The real match data structure. Define ovector as large as it can ever
  6549  // actually be so that array bound checkers don't grumble. Memory for this
  6550  // structure is obtained by calling pcre2_match_data_create(), which sets the size
  6551  // as the offset of ovector plus a pair of elements for each capturable string, so
  6552  // the size varies from call to call. As the maximum number of capturing
  6553  // subpatterns is 65535 we must allow for 65536 strings to include the overall
  6554  // match. (See also the heapframe structure below.)
  6555  
  6556  type Tpcre2_real_match_data_8 = Spcre2_real_match_data_8 /* pcre2_intmodedep.h:665:3 */
  6557  
  6558  // ----------------------- PRIVATE STRUCTURES -----------------------------
  6559  
  6560  // These structures are not needed for pcre2test.
  6561  
  6562  // Structures for checking for mutual recursion when scanning compiled or
  6563  // parsed code.
  6564  
  6565  type Srecurse_check = struct {
  6566  	Fprev  uintptr
  6567  	Fgroup TPCRE2_SPTR8
  6568  } /* pcre2_intmodedep.h:677:9 */
  6569  
  6570  // ----------------------- PRIVATE STRUCTURES -----------------------------
  6571  
  6572  // These structures are not needed for pcre2test.
  6573  
  6574  // Structures for checking for mutual recursion when scanning compiled or
  6575  // parsed code.
  6576  
  6577  type Trecurse_check = Srecurse_check /* pcre2_intmodedep.h:680:3 */
  6578  
  6579  type Sparsed_recurse_check = struct {
  6580  	Fprev     uintptr
  6581  	Fgroupptr uintptr
  6582  } /* pcre2_intmodedep.h:682:9 */
  6583  
  6584  type Tparsed_recurse_check = Sparsed_recurse_check /* pcre2_intmodedep.h:685:3 */
  6585  
  6586  // Structure for building a cache when filling in recursion offsets.
  6587  
  6588  type Srecurse_cache = struct {
  6589  	Fgroup       TPCRE2_SPTR8
  6590  	Fgroupnumber int32
  6591  	F__ccgo_pad1 [4]byte
  6592  } /* pcre2_intmodedep.h:689:9 */
  6593  
  6594  // Structure for building a cache when filling in recursion offsets.
  6595  
  6596  type Trecurse_cache = Srecurse_cache /* pcre2_intmodedep.h:692:3 */
  6597  
  6598  // Structure for maintaining a chain of pointers to the currently incomplete
  6599  // branches, for testing for left recursion while compiling.
  6600  
  6601  type Sbranch_chain_8 = struct {
  6602  	Fouter          uintptr
  6603  	Fcurrent_branch uintptr
  6604  } /* pcre2_intmodedep.h:697:9 */
  6605  
  6606  // Structure for maintaining a chain of pointers to the currently incomplete
  6607  // branches, for testing for left recursion while compiling.
  6608  
  6609  type Tbranch_chain_8 = Sbranch_chain_8 /* pcre2_intmodedep.h:700:3 */
  6610  
  6611  // Structure for building a list of named groups during the first pass of
  6612  // compiling.
  6613  
  6614  type Snamed_group_8 = struct {
  6615  	Fname   TPCRE2_SPTR8
  6616  	Fnumber Tuint32_t
  6617  	Flength Tuint16_t
  6618  	Fisdup  Tuint16_t
  6619  } /* pcre2_intmodedep.h:705:9 */
  6620  
  6621  // Structure for building a list of named groups during the first pass of
  6622  // compiling.
  6623  
  6624  type Tnamed_group_8 = Snamed_group_8 /* pcre2_intmodedep.h:710:3 */
  6625  
  6626  // Structure for passing "static" information around between the functions
  6627  // doing the compiling, so that they are thread-safe.
  6628  
  6629  type Scompile_block_8 = struct {
  6630  	Fcx                    uintptr
  6631  	Flcc                   uintptr
  6632  	Ffcc                   uintptr
  6633  	Fcbits                 uintptr
  6634  	Fctypes                uintptr
  6635  	Fstart_workspace       TPCRE2_SPTR8
  6636  	Fstart_code            TPCRE2_SPTR8
  6637  	Fstart_pattern         TPCRE2_SPTR8
  6638  	Fend_pattern           TPCRE2_SPTR8
  6639  	Fname_table            uintptr
  6640  	Fworkspace_size        Tsize_t
  6641  	Fsmall_ref_offset      [10]Tsize_t
  6642  	Ferroroffset           Tsize_t
  6643  	Fnames_found           Tuint16_t
  6644  	Fname_entry_size       Tuint16_t
  6645  	Fparens_depth          Tuint16_t
  6646  	Fassert_depth          Tuint16_t
  6647  	Fopen_caps             uintptr
  6648  	Fnamed_groups          uintptr
  6649  	Fnamed_group_list_size Tuint32_t
  6650  	Fexternal_options      Tuint32_t
  6651  	Fexternal_flags        Tuint32_t
  6652  	Fbracount              Tuint32_t
  6653  	Flastcapture           Tuint32_t
  6654  	F__ccgo_pad1           [4]byte
  6655  	Fparsed_pattern        uintptr
  6656  	Fparsed_pattern_end    uintptr
  6657  	Fgroupinfo             uintptr
  6658  	Ftop_backref           Tuint32_t
  6659  	Fbackref_map           Tuint32_t
  6660  	Fnltype                Tuint32_t
  6661  	Fnllen                 Tuint32_t
  6662  	Fclass_range_start     Tuint32_t
  6663  	Fclass_range_end       Tuint32_t
  6664  	Fnl                    [4]TPCRE2_UCHAR8
  6665  	Freq_varyopt           Tuint32_t
  6666  	Fmax_lookbehind        int32
  6667  	Fhad_accept            TBOOL
  6668  	Fhad_pruneorskip       TBOOL
  6669  	Fhad_recurse           TBOOL
  6670  	Fdupnames              TBOOL
  6671  	F__ccgo_pad2           [4]byte
  6672  } /* pcre2_intmodedep.h:715:9 */
  6673  
  6674  // Structure for passing "static" information around between the functions
  6675  // doing the compiling, so that they are thread-safe.
  6676  
  6677  type Tcompile_block_8 = Scompile_block_8 /* pcre2_intmodedep.h:756:3 */
  6678  
  6679  // Structure for keeping the properties of the in-memory stack used
  6680  // by the JIT matcher.
  6681  
  6682  type Tpcre2_real_jit_stack_8 = Spcre2_real_jit_stack_8 /* pcre2_intmodedep.h:764:3 */
  6683  
  6684  // Structure for items in a linked list that represents an explicit recursive
  6685  // call within the pattern when running pcre2_dfa_match().
  6686  
  6687  type Sdfa_recursion_info = struct {
  6688  	Fprevrec          uintptr
  6689  	Fsubject_position TPCRE2_SPTR8
  6690  	Fgroup_num        Tuint32_t
  6691  	F__ccgo_pad1      [4]byte
  6692  } /* pcre2_intmodedep.h:769:9 */
  6693  
  6694  // Structure for items in a linked list that represents an explicit recursive
  6695  // call within the pattern when running pcre2_dfa_match().
  6696  
  6697  type Tdfa_recursion_info = Sdfa_recursion_info /* pcre2_intmodedep.h:773:3 */
  6698  
  6699  // Structure for "stack" frames that are used for remembering backtracking
  6700  // positions during matching. As these are used in a vector, with the ovector item
  6701  // being extended, the size of the structure must be a multiple of PCRE2_SIZE. The
  6702  // only way to check this at compile time is to force an error by generating an
  6703  // array with a negative size. By putting this in a typedef (which is never used),
  6704  // we don't generate any code when all is well.
  6705  
  6706  type Sheapframe = struct {
  6707  	Fecode             TPCRE2_SPTR8
  6708  	Ftemp_sptr         [2]TPCRE2_SPTR8
  6709  	Flength            Tsize_t
  6710  	Fback_frame        Tsize_t
  6711  	Ftemp_size         Tsize_t
  6712  	Frdepth            Tuint32_t
  6713  	Fgroup_frame_type  Tuint32_t
  6714  	Ftemp_32           [4]Tuint32_t
  6715  	Freturn_id         Tuint8_t
  6716  	Fop                Tuint8_t
  6717  	Foccu              [6]TPCRE2_UCHAR8
  6718  	Feptr              TPCRE2_SPTR8
  6719  	Fstart_match       TPCRE2_SPTR8
  6720  	Fmark              TPCRE2_SPTR8
  6721  	Fcurrent_recurse   Tuint32_t
  6722  	Fcapture_last      Tuint32_t
  6723  	Flast_group_offset Tsize_t
  6724  	Foffset_top        Tsize_t
  6725  	Fovector           [131072]Tsize_t
  6726  } /* pcre2_intmodedep.h:782:9 */
  6727  
  6728  // Structure for "stack" frames that are used for remembering backtracking
  6729  // positions during matching. As these are used in a vector, with the ovector item
  6730  // being extended, the size of the structure must be a multiple of PCRE2_SIZE. The
  6731  // only way to check this at compile time is to force an error by generating an
  6732  // array with a negative size. By putting this in a typedef (which is never used),
  6733  // we don't generate any code when all is well.
  6734  
  6735  type Theapframe = Sheapframe /* pcre2_intmodedep.h:833:3 */
  6736  
  6737  // This typedef is a check that the size of the heapframe structure is a
  6738  // multiple of PCRE2_SIZE. See various comments above.
  6739  
  6740  type Tcheck_heapframe_size = [1]uint8 /* pcre2_intmodedep.h:838:14 */
  6741  
  6742  // Structure for computing the alignment of heapframe.
  6743  
  6744  type Sheapframe_align = struct {
  6745  	Funalign     uint8
  6746  	F__ccgo_pad1 [7]byte
  6747  	Fframe       Theapframe
  6748  } /* pcre2_intmodedep.h:843:9 */
  6749  
  6750  // Structure for computing the alignment of heapframe.
  6751  
  6752  type Theapframe_align = Sheapframe_align /* pcre2_intmodedep.h:846:3 */
  6753  
  6754  // This define is the minimum alignment required for a heapframe, in bytes.
  6755  
  6756  // Structure for passing "static" information around between the functions
  6757  // doing traditional NFA matching (pcre2_match() and friends).
  6758  
  6759  type Smatch_block_8 = struct {
  6760  	Fmemctl               Tpcre2_memctl
  6761  	Fframe_vector_size    Tsize_t
  6762  	Fmatch_frames         uintptr
  6763  	Fmatch_frames_top     uintptr
  6764  	Fstack_frames         uintptr
  6765  	Fheap_limit           Tsize_t
  6766  	Fmatch_limit          Tuint32_t
  6767  	Fmatch_limit_depth    Tuint32_t
  6768  	Fmatch_call_count     Tuint32_t
  6769  	Fhitend               TBOOL
  6770  	Fhasthen              TBOOL
  6771  	Fallowemptypartial    TBOOL
  6772  	Flcc                  uintptr
  6773  	Ffcc                  uintptr
  6774  	Fctypes               uintptr
  6775  	Fstart_offset         Tsize_t
  6776  	Fend_offset_top       Tsize_t
  6777  	Fpartial              Tuint16_t
  6778  	Fbsr_convention       Tuint16_t
  6779  	Fname_count           Tuint16_t
  6780  	Fname_entry_size      Tuint16_t
  6781  	Fname_table           TPCRE2_SPTR8
  6782  	Fstart_code           TPCRE2_SPTR8
  6783  	Fstart_subject        TPCRE2_SPTR8
  6784  	Fcheck_subject        TPCRE2_SPTR8
  6785  	Fend_subject          TPCRE2_SPTR8
  6786  	Fend_match_ptr        TPCRE2_SPTR8
  6787  	Fstart_used_ptr       TPCRE2_SPTR8
  6788  	Flast_used_ptr        TPCRE2_SPTR8
  6789  	Fmark                 TPCRE2_SPTR8
  6790  	Fnomatch_mark         TPCRE2_SPTR8
  6791  	Fverb_ecode_ptr       TPCRE2_SPTR8
  6792  	Fverb_skip_ptr        TPCRE2_SPTR8
  6793  	Fverb_current_recurse Tuint32_t
  6794  	Fmoptions             Tuint32_t
  6795  	Fpoptions             Tuint32_t
  6796  	Fskip_arg_count       Tuint32_t
  6797  	Fignore_skip_arg      Tuint32_t
  6798  	Fnltype               Tuint32_t
  6799  	Fnllen                Tuint32_t
  6800  	Fnl                   [4]TPCRE2_UCHAR8
  6801  	Fcb                   uintptr
  6802  	Fcallout_data         uintptr
  6803  	Fcallout              uintptr
  6804  } /* pcre2_intmodedep.h:855:9 */
  6805  
  6806  // This define is the minimum alignment required for a heapframe, in bytes.
  6807  
  6808  // Structure for passing "static" information around between the functions
  6809  // doing traditional NFA matching (pcre2_match() and friends).
  6810  
  6811  type Tmatch_block_8 = Smatch_block_8 /* pcre2_intmodedep.h:900:3 */
  6812  
  6813  // A similar structure is used for the same purpose by the DFA matching
  6814  // functions.
  6815  
  6816  type Sdfa_match_block_8 = struct {
  6817  	Fmemctl            Tpcre2_memctl
  6818  	Fstart_code        TPCRE2_SPTR8
  6819  	Fstart_subject     TPCRE2_SPTR8
  6820  	Fend_subject       TPCRE2_SPTR8
  6821  	Fstart_used_ptr    TPCRE2_SPTR8
  6822  	Flast_used_ptr     TPCRE2_SPTR8
  6823  	Ftables            uintptr
  6824  	Fstart_offset      Tsize_t
  6825  	Fheap_limit        Tsize_t
  6826  	Fheap_used         Tsize_t
  6827  	Fmatch_limit       Tuint32_t
  6828  	Fmatch_limit_depth Tuint32_t
  6829  	Fmatch_call_count  Tuint32_t
  6830  	Fmoptions          Tuint32_t
  6831  	Fpoptions          Tuint32_t
  6832  	Fnltype            Tuint32_t
  6833  	Fnllen             Tuint32_t
  6834  	Fallowemptypartial TBOOL
  6835  	Fnl                [4]TPCRE2_UCHAR8
  6836  	Fbsr_convention    Tuint16_t
  6837  	F__ccgo_pad1       [2]byte
  6838  	Fcb                uintptr
  6839  	Fcallout_data      uintptr
  6840  	Fcallout           uintptr
  6841  	Frecursive         uintptr
  6842  } /* pcre2_intmodedep.h:905:9 */
  6843  
  6844  // A similar structure is used for the same purpose by the DFA matching
  6845  // functions.
  6846  
  6847  type Tdfa_match_block_8 = Sdfa_match_block_8 /* pcre2_intmodedep.h:930:3 */
  6848  
  6849  // This function is needed only when memmove() is not available.
  6850  
  6851  // End of pcre2_internal.h
  6852  
  6853  // ************************************************
  6854  //
  6855  //        Tables for auto-possessification        *
  6856  //
  6857  
  6858  // This table is used to check whether auto-possessification is possible
  6859  // between adjacent character-type opcodes. The left-hand (repeated) opcode is
  6860  // used to select the row, and the right-hand opcode is use to select the column.
  6861  // A value of 1 means that auto-possessification is OK. For example, the second
  6862  // value in the first row means that \D+\d can be turned into \D++\d.
  6863  //
  6864  // The Unicode property types (\P and \p) have to be present to fill out the table
  6865  // because of what their opcode values are, but the table values should always be
  6866  // zero because property types are handled separately in the code. The last four
  6867  // columns apply to items that cannot be repeated, so there is no need to have
  6868  // rows for them. Note that OP_DIGIT etc. are generated only when PCRE_UCP is
  6869  // *not* set. When it is set, \d etc. are converted into OP_(NOT_)PROP codes.
  6870  
  6871  var autoposstab = [17][21]Tuint8_t{
  6872  	// \D \d \S \s \W \w  . .+ \C \P \p \R \H \h \V \v \X \Z \z  $ $M
  6873  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \D
  6874  	{Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // \d
  6875  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // \S
  6876  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \s
  6877  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \W
  6878  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // \w
  6879  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // .
  6880  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // .+
  6881  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \C
  6882  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // \P
  6883  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // \p
  6884  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \R
  6885  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \H
  6886  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \h
  6887  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \V
  6888  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \v
  6889  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0)}, // \X
  6890  } /* pcre2_auto_possess.c:73:22 */
  6891  
  6892  // This table is used to check whether auto-possessification is possible
  6893  // between adjacent Unicode property opcodes (OP_PROP and OP_NOTPROP). The
  6894  // left-hand (repeated) opcode is used to select the row, and the right-hand
  6895  // opcode is used to select the column. The values are as follows:
  6896  //
  6897  //   0   Always return FALSE (never auto-possessify)
  6898  //   1   Character groups are distinct (possessify if both are OP_PROP)
  6899  //   2   Check character categories in the same group (general or particular)
  6900  //   3   TRUE if the two opcodes are not the same (PROP vs NOTPROP)
  6901  //
  6902  //   4   Check left general category vs right particular category
  6903  //   5   Check right general category vs left particular category
  6904  //
  6905  //   6   Left alphanum vs right general category
  6906  //   7   Left space vs right general category
  6907  //   8   Left word vs right general category
  6908  //
  6909  //   9   Right alphanum vs left general category
  6910  //  10   Right space vs left general category
  6911  //  11   Right word vs left general category
  6912  //
  6913  //  12   Left alphanum vs right particular category
  6914  //  13   Left space vs right particular category
  6915  //  14   Left word vs right particular category
  6916  //
  6917  //  15   Right alphanum vs left particular category
  6918  //  16   Right space vs left particular category
  6919  //  17   Right word vs left particular category
  6920  
  6921  var propposstab = [14][14]Tuint8_t{
  6922  	// ANY LAMP GC  PC  SC  SCX ALNUM SPACE PXSPACE WORD CLIST UCNC BIDICL BOOL
  6923  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},     // PT_ANY
  6924  	{Tuint8_t(0), Tuint8_t(3), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(3), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},     // PT_LAMP
  6925  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(2), Tuint8_t(4), Tuint8_t(0), Tuint8_t(0), Tuint8_t(9), Tuint8_t(10), Tuint8_t(10), Tuint8_t(11), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},  // PT_GC
  6926  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(5), Tuint8_t(2), Tuint8_t(0), Tuint8_t(0), Tuint8_t(15), Tuint8_t(16), Tuint8_t(16), Tuint8_t(17), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // PT_PC
  6927  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(2), Tuint8_t(2), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},     // PT_SC
  6928  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(2), Tuint8_t(2), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},     // PT_SCX
  6929  	{Tuint8_t(0), Tuint8_t(3), Tuint8_t(6), Tuint8_t(12), Tuint8_t(0), Tuint8_t(0), Tuint8_t(3), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},    // PT_ALNUM
  6930  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(7), Tuint8_t(13), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(3), Tuint8_t(3), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},    // PT_SPACE
  6931  	{Tuint8_t(0), Tuint8_t(1), Tuint8_t(7), Tuint8_t(13), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(3), Tuint8_t(3), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},    // PT_PXSPACE
  6932  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(8), Tuint8_t(14), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(3), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},    // PT_WORD
  6933  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},     // PT_CLIST
  6934  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(3), Tuint8_t(0), Tuint8_t(0)},     // PT_UCNC
  6935  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},     // PT_BIDICL
  6936  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)},     // PT_BOOL
  6937  } /* pcre2_auto_possess.c:125:22 */
  6938  
  6939  // This table is used to check whether auto-possessification is possible
  6940  // between adjacent Unicode property opcodes (OP_PROP and OP_NOTPROP) when one
  6941  // specifies a general category and the other specifies a particular category. The
  6942  // row is selected by the general category and the column by the particular
  6943  // category. The value is 1 if the particular category is not part of the general
  6944  // category.
  6945  
  6946  var catposstab = [7][30]Tuint8_t{
  6947  	// Cc Cf Cn Co Cs Ll Lm Lo Lt Lu Mc Me Mn Nd Nl No Pc Pd Pe Pf Pi Po Ps Sc Sk Sm So Zl Zp Zs
  6948  	{Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // C
  6949  	{Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // L
  6950  	{Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // M
  6951  	{Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // N
  6952  	{Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // P
  6953  	{Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1)}, // S
  6954  	{Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0)}, // Z
  6955  } /* pcre2_auto_possess.c:150:22 */
  6956  
  6957  // This table is used when checking ALNUM, (PX)SPACE, SPACE, and WORD against
  6958  // a general or particular category. The properties in each row are those
  6959  // that apply to the character set in question. Duplication means that a little
  6960  // unnecessary work is done when checking, but this keeps things much simpler
  6961  // because they can all use the same code. For more details see the comment where
  6962  // this table is used.
  6963  //
  6964  // Note: SPACE and PXSPACE used to be different because Perl excluded VT from
  6965  // "space", but from Perl 5.18 it's included, so both categories are treated the
  6966  // same here.
  6967  
  6968  var posspropstab = [3][4]Tuint8_t{
  6969  	{ucp_L, ucp_N, ucp_N, ucp_Nl}, // ALNUM, 3rd and 4th values redundant
  6970  	{ucp_Z, ucp_Z, ucp_C, ucp_Cc}, // SPACE and PXSPACE, 2nd value redundant
  6971  	{ucp_L, ucp_N, ucp_P, ucp_Po}, // WORD
  6972  } /* pcre2_auto_possess.c:172:22 */
  6973  
  6974  // ************************************************
  6975  //
  6976  //        Check a character and a property        *
  6977  //
  6978  
  6979  // This function is called by compare_opcodes() when a property item is
  6980  // adjacent to a fixed character.
  6981  //
  6982  // Arguments:
  6983  //   c            the character
  6984  //   ptype        the property type
  6985  //   pdata        the data for the type
  6986  //   negated      TRUE if it's a negated property (\P or \p{^)
  6987  //
  6988  // Returns:       TRUE if auto-possessifying is OK
  6989  
  6990  func check_char_prop(tls *libc.TLS, c Tuint32_t, ptype uint32, pdata uint32, negated TBOOL) TBOOL { /* pcre2_auto_possess.c:199:1: */
  6991  	var ok TBOOL
  6992  	var p uintptr
  6993  	var prop uintptr = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12
  6994  
  6995  	switch ptype {
  6996  	case uint32(DPT_LAMP):
  6997  		return libc.Bool32(libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lt) == negated)
  6998  
  6999  	case uint32(DPT_GC):
  7000  		return libc.Bool32(libc.Bool32(pdata == X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype]) == negated)
  7001  
  7002  	case uint32(DPT_PC):
  7003  		return libc.Bool32(libc.Bool32(pdata == uint32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype)) == negated)
  7004  
  7005  	case uint32(DPT_SC):
  7006  		return libc.Bool32(libc.Bool32(pdata == uint32((*Tucd_record)(unsafe.Pointer(prop)).Fscript)) == negated)
  7007  
  7008  	case uint32(DPT_SCX):
  7009  		ok = libc.Bool32(pdata == uint32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) ||
  7010  			*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(pdata/uint32(32))*4))&(uint32(1)<<(pdata%uint32(32))) != Tuint32_t(0))
  7011  		return libc.Bool32(ok == negated)
  7012  
  7013  	// These are specials
  7014  
  7015  	case uint32(DPT_ALNUM):
  7016  		return libc.Bool32(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N) == negated)
  7017  
  7018  	// Perl space used to exclude VT, but from Perl 5.18 it is included, which
  7019  	//   means that Perl space and POSIX space are now identical. PCRE was changed
  7020  	//   at release 8.34.
  7021  
  7022  	case uint32(DPT_SPACE):
  7023  		fallthrough // Perl space
  7024  	case uint32(DPT_PXSPACE): // POSIX space
  7025  		switch c {
  7026  		case Tuint32_t('\011'):
  7027  			fallthrough
  7028  		case Tuint32_t('\040'):
  7029  			fallthrough
  7030  		case Tuint32_t(uint8('\xa0')):
  7031  			fallthrough
  7032  		case Tuint32_t(0x1680):
  7033  			fallthrough /* OGHAM SPACE MARK */
  7034  		case Tuint32_t(0x180e):
  7035  			fallthrough /* MONGOLIAN VOWEL SEPARATOR */
  7036  		case Tuint32_t(0x2000):
  7037  			fallthrough /* EN QUAD */
  7038  		case Tuint32_t(0x2001):
  7039  			fallthrough /* EM QUAD */
  7040  		case Tuint32_t(0x2002):
  7041  			fallthrough /* EN SPACE */
  7042  		case Tuint32_t(0x2003):
  7043  			fallthrough /* EM SPACE */
  7044  		case Tuint32_t(0x2004):
  7045  			fallthrough /* THREE-PER-EM SPACE */
  7046  		case Tuint32_t(0x2005):
  7047  			fallthrough /* FOUR-PER-EM SPACE */
  7048  		case Tuint32_t(0x2006):
  7049  			fallthrough /* SIX-PER-EM SPACE */
  7050  		case Tuint32_t(0x2007):
  7051  			fallthrough /* FIGURE SPACE */
  7052  		case Tuint32_t(0x2008):
  7053  			fallthrough /* PUNCTUATION SPACE */
  7054  		case Tuint32_t(0x2009):
  7055  			fallthrough /* THIN SPACE */
  7056  		case Tuint32_t(0x200A):
  7057  			fallthrough /* HAIR SPACE */
  7058  		case Tuint32_t(0x202f):
  7059  			fallthrough /* NARROW NO-BREAK SPACE */
  7060  		case Tuint32_t(0x205f):
  7061  			fallthrough /* MEDIUM MATHEMATICAL SPACE */
  7062  		case Tuint32_t(0x3000):
  7063  			fallthrough
  7064  		case Tuint32_t('\012'):
  7065  			fallthrough
  7066  		case Tuint32_t('\013'):
  7067  			fallthrough
  7068  		case Tuint32_t('\014'):
  7069  			fallthrough
  7070  		case Tuint32_t('\015'):
  7071  			fallthrough
  7072  		case Tuint32_t(uint8('\x85')):
  7073  			fallthrough
  7074  		case Tuint32_t(0x2028):
  7075  			fallthrough /* LINE SEPARATOR */
  7076  		case Tuint32_t(0x2029):
  7077  			return negated
  7078  
  7079  		default:
  7080  			return libc.Bool32(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z) == negated)
  7081  		}
  7082  		break // Control never reaches here
  7083  
  7084  	case uint32(DPT_WORD):
  7085  		return libc.Bool32(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N || c == Tuint32_t('\137')) == negated)
  7086  
  7087  	case uint32(DPT_CLIST):
  7088  		p = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr((*Tucd_record)(unsafe.Pointer(prop)).Fcaseset)*4
  7089  		for {
  7090  			if c < *(*Tuint32_t)(unsafe.Pointer(p)) {
  7091  				return libc.BoolInt32(!(negated != 0))
  7092  			}
  7093  			if c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 4))) {
  7094  				return negated
  7095  			}
  7096  		}
  7097  		break // Control never reaches here
  7098  
  7099  	// Haven't yet thought these through.
  7100  
  7101  	case uint32(DPT_BIDICL):
  7102  		return DFALSE
  7103  
  7104  	case uint32(DPT_BOOL):
  7105  		return DFALSE
  7106  	}
  7107  
  7108  	return DFALSE
  7109  }
  7110  
  7111  // ************************************************
  7112  //
  7113  //        Base opcode of repeated opcodes         *
  7114  //
  7115  
  7116  // Returns the base opcode for repeated single character type opcodes. If the
  7117  // opcode is not a repeated character type, it returns with the original value.
  7118  //
  7119  // Arguments:  c opcode
  7120  // Returns:    base opcode for the type
  7121  
  7122  func get_repeat_base(tls *libc.TLS, c TPCRE2_UCHAR8) TPCRE2_UCHAR8 { /* pcre2_auto_possess.c:291:1: */
  7123  	if int32(c) > OP_TYPEPOSUPTO {
  7124  		return c
  7125  	}
  7126  	if int32(c) >= OP_TYPESTAR {
  7127  		return OP_TYPESTAR
  7128  	}
  7129  	if int32(c) >= OP_NOTSTARI {
  7130  		return OP_NOTSTARI
  7131  	}
  7132  	if int32(c) >= OP_NOTSTAR {
  7133  		return OP_NOTSTAR
  7134  	}
  7135  	if int32(c) >= OP_STARI {
  7136  		return OP_STARI
  7137  	}
  7138  	return OP_STAR
  7139  }
  7140  
  7141  // ************************************************
  7142  //
  7143  //        Fill the character property list        *
  7144  //
  7145  
  7146  // Checks whether the code points to an opcode that can take part in auto-
  7147  // possessification, and if so, fills a list with its properties.
  7148  //
  7149  // Arguments:
  7150  //   code        points to start of expression
  7151  //   utf         TRUE if in UTF mode
  7152  //   ucp         TRUE if in UCP mode
  7153  //   fcc         points to the case-flipping table
  7154  //   list        points to output list
  7155  //               list[0] will be filled with the opcode
  7156  //               list[1] will be non-zero if this opcode
  7157  //                 can match an empty character string
  7158  //               list[2..7] depends on the opcode
  7159  //
  7160  // Returns:      points to the start of the next opcode if *code is accepted
  7161  //               NULL if *code is not accepted
  7162  
  7163  func get_chr_property_list(tls *libc.TLS, code TPCRE2_SPTR8, utf TBOOL, ucp TBOOL, fcc uintptr, list uintptr) TPCRE2_SPTR8 { /* pcre2_auto_possess.c:325:1: */
  7164  	var c TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  7165  	var base TPCRE2_UCHAR8
  7166  	var end TPCRE2_SPTR8
  7167  	var chr Tuint32_t
  7168  	var clist_dest uintptr
  7169  	var clist_src uintptr
  7170  
  7171  	*(*Tuint32_t)(unsafe.Pointer(list)) = Tuint32_t(c)
  7172  	*(*Tuint32_t)(unsafe.Pointer(list + 1*4)) = Tuint32_t(DFALSE)
  7173  	code++
  7174  
  7175  	if int32(c) >= OP_STAR && int32(c) <= OP_TYPEPOSUPTO {
  7176  		base = get_repeat_base(tls, c)
  7177  		c = TPCRE2_UCHAR8(int32(c) - (int32(base) - OP_STAR))
  7178  
  7179  		if int32(c) == OP_UPTO || int32(c) == OP_MINUPTO || int32(c) == OP_EXACT || int32(c) == OP_POSUPTO {
  7180  			code += TPCRE2_SPTR8(DIMM2_SIZE)
  7181  		}
  7182  
  7183  		*(*Tuint32_t)(unsafe.Pointer(list + 1*4)) = Tuint32_t(libc.Bool32(int32(c) != OP_PLUS && int32(c) != OP_MINPLUS && int32(c) != OP_EXACT && int32(c) != OP_POSPLUS))
  7184  
  7185  		switch int32(base) {
  7186  		case OP_STAR:
  7187  			*(*Tuint32_t)(unsafe.Pointer(list)) = OP_CHAR
  7188  			break
  7189  			fallthrough
  7190  
  7191  		case OP_STARI:
  7192  			*(*Tuint32_t)(unsafe.Pointer(list)) = OP_CHARI
  7193  			break
  7194  			fallthrough
  7195  
  7196  		case OP_NOTSTAR:
  7197  			*(*Tuint32_t)(unsafe.Pointer(list)) = OP_NOT
  7198  			break
  7199  			fallthrough
  7200  
  7201  		case OP_NOTSTARI:
  7202  			*(*Tuint32_t)(unsafe.Pointer(list)) = OP_NOTI
  7203  			break
  7204  			fallthrough
  7205  
  7206  		case OP_TYPESTAR:
  7207  			*(*Tuint32_t)(unsafe.Pointer(list)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))
  7208  			code++
  7209  			break
  7210  		}
  7211  		c = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(list)))
  7212  	}
  7213  
  7214  	switch int32(c) {
  7215  	case OP_NOT_DIGIT:
  7216  		fallthrough
  7217  	case OP_DIGIT:
  7218  		fallthrough
  7219  	case OP_NOT_WHITESPACE:
  7220  		fallthrough
  7221  	case OP_WHITESPACE:
  7222  		fallthrough
  7223  	case OP_NOT_WORDCHAR:
  7224  		fallthrough
  7225  	case OP_WORDCHAR:
  7226  		fallthrough
  7227  	case OP_ANY:
  7228  		fallthrough
  7229  	case OP_ALLANY:
  7230  		fallthrough
  7231  	case OP_ANYNL:
  7232  		fallthrough
  7233  	case OP_NOT_HSPACE:
  7234  		fallthrough
  7235  	case OP_HSPACE:
  7236  		fallthrough
  7237  	case OP_NOT_VSPACE:
  7238  		fallthrough
  7239  	case OP_VSPACE:
  7240  		fallthrough
  7241  	case OP_EXTUNI:
  7242  		fallthrough
  7243  	case OP_EODN:
  7244  		fallthrough
  7245  	case OP_EOD:
  7246  		fallthrough
  7247  	case OP_DOLL:
  7248  		fallthrough
  7249  	case OP_DOLLM:
  7250  		return code
  7251  
  7252  	case OP_CHAR:
  7253  		fallthrough
  7254  	case OP_NOT:
  7255  		chr = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))))
  7256  		if utf != 0 && chr >= 0xc0 {
  7257  			if chr&0x20 == Tuint32_t(0) {
  7258  				chr = chr&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))))&0x3f
  7259  			} else if chr&0x10 == Tuint32_t(0) {
  7260  				chr = chr&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f
  7261  				code += uintptr(2)
  7262  			} else if chr&0x08 == Tuint32_t(0) {
  7263  				chr = chr&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f
  7264  				code += uintptr(3)
  7265  			} else if chr&0x04 == Tuint32_t(0) {
  7266  				chr = chr&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))&0x3f
  7267  				code += uintptr(4)
  7268  			} else {
  7269  				chr = chr&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)))&0x3f
  7270  				code += uintptr(5)
  7271  			}
  7272  		}
  7273  
  7274  		*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = chr
  7275  		*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = DNOTACHAR
  7276  		return code
  7277  
  7278  	case OP_CHARI:
  7279  		fallthrough
  7280  	case OP_NOTI:
  7281  		*(*Tuint32_t)(unsafe.Pointer(list)) = func() uint32 {
  7282  			if int32(c) == OP_CHARI {
  7283  				return OP_CHAR
  7284  			}
  7285  			return OP_NOT
  7286  		}()
  7287  		chr = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))))
  7288  		if utf != 0 && chr >= 0xc0 {
  7289  			if chr&0x20 == Tuint32_t(0) {
  7290  				chr = chr&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))))&0x3f
  7291  			} else if chr&0x10 == Tuint32_t(0) {
  7292  				chr = chr&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f
  7293  				code += uintptr(2)
  7294  			} else if chr&0x08 == Tuint32_t(0) {
  7295  				chr = chr&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f
  7296  				code += uintptr(3)
  7297  			} else if chr&0x04 == Tuint32_t(0) {
  7298  				chr = chr&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))&0x3f
  7299  				code += uintptr(4)
  7300  			} else {
  7301  				chr = chr&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)))&0x3f
  7302  				code += uintptr(5)
  7303  			}
  7304  		}
  7305  
  7306  		*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = chr
  7307  
  7308  		if chr < Tuint32_t(128) || chr < Tuint32_t(256) && !(utf != 0) && !(ucp != 0) {
  7309  			*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(chr))))
  7310  		} else {
  7311  			*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(int32(chr) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(chr)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(chr)%DUCD_BLOCK_SIZE])*12)).Fother_case)
  7312  		}
  7313  
  7314  		// The othercase might be the same value.
  7315  
  7316  		if chr == *(*Tuint32_t)(unsafe.Pointer(list + 3*4)) {
  7317  			*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = DNOTACHAR
  7318  		} else {
  7319  			*(*Tuint32_t)(unsafe.Pointer(list + 4*4)) = DNOTACHAR
  7320  		}
  7321  		return code
  7322  
  7323  	case OP_PROP:
  7324  		fallthrough
  7325  	case OP_NOTPROP:
  7326  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) != DPT_CLIST {
  7327  			*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))
  7328  			*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
  7329  			return code + uintptr(2)
  7330  		}
  7331  
  7332  		// Convert only if we have enough space.
  7333  
  7334  		clist_src = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))*4
  7335  		clist_dest = list + uintptr(2)*4
  7336  		code += uintptr(2)
  7337  
  7338  		for __ccgo := true; __ccgo; __ccgo = *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&clist_src, 4))) != DNOTACHAR {
  7339  			if clist_dest >= list+uintptr(8)*4 {
  7340  				// Early return if there is not enough space. This should never
  7341  				//        happen, since all clists are shorter than 5 character now.
  7342  				*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))
  7343  				*(*Tuint32_t)(unsafe.Pointer(list + 3*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
  7344  				return code
  7345  			}
  7346  			*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&clist_dest, 4))) = *(*Tuint32_t)(unsafe.Pointer(clist_src))
  7347  		}
  7348  
  7349  		// All characters are stored. The terminating NOTACHAR is copied from the
  7350  		//   clist itself.
  7351  
  7352  		*(*Tuint32_t)(unsafe.Pointer(list)) = func() uint32 {
  7353  			if int32(c) == OP_PROP {
  7354  				return OP_CHAR
  7355  			}
  7356  			return OP_NOT
  7357  		}()
  7358  		return code
  7359  
  7360  	case OP_NCLASS:
  7361  		fallthrough
  7362  	case OP_CLASS:
  7363  		fallthrough
  7364  	case OP_XCLASS:
  7365  		if int32(c) == OP_XCLASS {
  7366  			end = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))))) - uintptr(1)
  7367  		} else {
  7368  			end = code + uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
  7369  		}
  7370  
  7371  		switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end))) {
  7372  		case OP_CRSTAR:
  7373  			fallthrough
  7374  		case OP_CRMINSTAR:
  7375  			fallthrough
  7376  		case OP_CRQUERY:
  7377  			fallthrough
  7378  		case OP_CRMINQUERY:
  7379  			fallthrough
  7380  		case OP_CRPOSSTAR:
  7381  			fallthrough
  7382  		case OP_CRPOSQUERY:
  7383  			*(*Tuint32_t)(unsafe.Pointer(list + 1*4)) = Tuint32_t(DTRUE)
  7384  			end++
  7385  			break
  7386  
  7387  		case OP_CRPLUS:
  7388  			fallthrough
  7389  		case OP_CRMINPLUS:
  7390  			fallthrough
  7391  		case OP_CRPOSPLUS:
  7392  			end++
  7393  			break
  7394  
  7395  		case OP_CRRANGE:
  7396  			fallthrough
  7397  		case OP_CRMINRANGE:
  7398  			fallthrough
  7399  		case OP_CRPOSRANGE:
  7400  			*(*Tuint32_t)(unsafe.Pointer(list + 1*4)) = Tuint32_t(libc.Bool32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end + 2)))) == uint32(0)))
  7401  			end += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
  7402  			break
  7403  		}
  7404  		*(*Tuint32_t)(unsafe.Pointer(list + 2*4)) = Tuint32_t((int64(end) - int64(code)) / 1)
  7405  		return end
  7406  	}
  7407  
  7408  	return uintptr(0) // Opcode not accepted
  7409  }
  7410  
  7411  // ************************************************
  7412  //
  7413  //    Scan further character sets for match       *
  7414  //
  7415  
  7416  // Checks whether the base and the current opcode have a common character, in
  7417  // which case the base cannot be possessified.
  7418  //
  7419  // Arguments:
  7420  //   code        points to the byte code
  7421  //   utf         TRUE in UTF mode
  7422  //   ucp         TRUE in UCP mode
  7423  //   cb          compile data block
  7424  //   base_list   the data list of the base opcode
  7425  //   base_end    the end of the base opcode
  7426  //   rec_limit   points to recursion depth counter
  7427  //
  7428  // Returns:      TRUE if the auto-possessification is possible
  7429  
  7430  func compare_opcodes(tls *libc.TLS, code TPCRE2_SPTR8, utf TBOOL, ucp TBOOL, cb uintptr, base_list uintptr, base_end TPCRE2_SPTR8, rec_limit uintptr) TBOOL { /* pcre2_auto_possess.c:536:1: */
  7431  	bp := tls.Alloc(32)
  7432  	defer tls.Free(32)
  7433  
  7434  	var c TPCRE2_UCHAR8
  7435  	// var list [8]Tuint32_t at bp, 32
  7436  
  7437  	var chr_ptr uintptr
  7438  	var ochr_ptr uintptr
  7439  	var list_ptr uintptr
  7440  	var next_code TPCRE2_SPTR8
  7441  	var xclass_flags TPCRE2_SPTR8
  7442  	var class_bitset uintptr
  7443  	var set1 uintptr
  7444  	var set2 uintptr
  7445  	var set_end uintptr
  7446  	var chr Tuint32_t
  7447  	var accepted TBOOL
  7448  	var invert_bits TBOOL
  7449  	var entered_a_group TBOOL = DFALSE
  7450  
  7451  	if libc.PreDecInt32(&*(*int32)(unsafe.Pointer(rec_limit)), 1) <= 0 {
  7452  		return DFALSE
  7453  	} // Recursion has gone too deep
  7454  
  7455  	// Note: the base_list[1] contains whether the current opcode has a greedy
  7456  	// (represented by a non-zero value) quantifier. This is a different from
  7457  	// other character type lists, which store here that the character iterator
  7458  	// matches to an empty string (also represented by a non-zero value).
  7459  
  7460  	for {
  7461  		// All operations move the code pointer forward.
  7462  		//   Therefore infinite recursions are not possible.
  7463  
  7464  		c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  7465  
  7466  		// Skip over callouts
  7467  
  7468  		if int32(c) == OP_CALLOUT {
  7469  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
  7470  			continue
  7471  		}
  7472  
  7473  		if int32(c) == OP_CALLOUT_STR {
  7474  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
  7475  			continue
  7476  		}
  7477  
  7478  		// At the end of a branch, skip to the end of the group.
  7479  
  7480  		if int32(c) == OP_ALT {
  7481  			for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
  7482  				code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
  7483  			}
  7484  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  7485  		}
  7486  
  7487  		// Inspect the next opcode.
  7488  
  7489  		switch int32(c) {
  7490  		// We can always possessify a greedy iterator at the end of the pattern,
  7491  		//     which is reached after skipping over the final OP_KET. A non-greedy
  7492  		//     iterator must never be possessified.
  7493  
  7494  		case OP_END:
  7495  			return libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(base_list + 1*4)) != Tuint32_t(0))
  7496  
  7497  		// When an iterator is at the end of certain kinds of group we can inspect
  7498  		//     what follows the group by skipping over the closing ket. Note that this
  7499  		//     does not apply to OP_KETRMAX or OP_KETRMIN because what follows any given
  7500  		//     iteration is variable (could be another iteration or could be the next
  7501  		//     item). As these two opcodes are not listed in the next switch, they will
  7502  		//     end up as the next code to inspect, and return FALSE by virtue of being
  7503  		//     unsupported.
  7504  
  7505  		case OP_KET:
  7506  			fallthrough
  7507  		case OP_KETRPOS:
  7508  			// The non-greedy case cannot be converted to a possessive form.
  7509  
  7510  			if *(*Tuint32_t)(unsafe.Pointer(base_list + 1*4)) == Tuint32_t(0) {
  7511  				return DFALSE
  7512  			}
  7513  
  7514  			// If the bracket is capturing it might be referenced by an OP_RECURSE
  7515  			//     so its last iterator can never be possessified if the pattern contains
  7516  			//     recursions. (This could be improved by keeping a list of group numbers that
  7517  			//     are called by recursion.)
  7518  
  7519  			switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code - uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))))) {
  7520  			case OP_CBRA:
  7521  				fallthrough
  7522  			case OP_SCBRA:
  7523  				fallthrough
  7524  			case OP_CBRAPOS:
  7525  				fallthrough
  7526  			case OP_SCBRAPOS:
  7527  				if (*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_recurse != 0 {
  7528  					return DFALSE
  7529  				}
  7530  				break
  7531  
  7532  			// A script run might have to backtrack if the iterated item can match
  7533  			//       characters from more than one script. So give up unless repeating an
  7534  			//       explicit character.
  7535  
  7536  			case OP_SCRIPT_RUN:
  7537  				if *(*Tuint32_t)(unsafe.Pointer(base_list)) != OP_CHAR && *(*Tuint32_t)(unsafe.Pointer(base_list)) != OP_CHARI {
  7538  					return DFALSE
  7539  				}
  7540  				break
  7541  
  7542  			// Atomic sub-patterns and assertions can always auto-possessify their
  7543  			//       last iterator. However, if the group was entered as a result of checking
  7544  			//       a previous iterator, this is not possible.
  7545  
  7546  			case OP_ASSERT:
  7547  				fallthrough
  7548  			case OP_ASSERT_NOT:
  7549  				fallthrough
  7550  			case OP_ASSERTBACK:
  7551  				fallthrough
  7552  			case OP_ASSERTBACK_NOT:
  7553  				fallthrough
  7554  			case OP_ONCE:
  7555  				return libc.BoolInt32(!(entered_a_group != 0))
  7556  
  7557  			// Non-atomic assertions - don't possessify last iterator. This needs
  7558  			//       more thought.
  7559  
  7560  			case OP_ASSERT_NA:
  7561  				fallthrough
  7562  			case OP_ASSERTBACK_NA:
  7563  				return DFALSE
  7564  			}
  7565  
  7566  			// Skip over the bracket and inspect what comes next.
  7567  
  7568  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
  7569  			continue
  7570  
  7571  		// Handle cases where the next item is a group.
  7572  
  7573  		case OP_ONCE:
  7574  			fallthrough
  7575  		case OP_BRA:
  7576  			fallthrough
  7577  		case OP_CBRA:
  7578  			next_code = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
  7579  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
  7580  
  7581  			// Check each branch. We have to recurse a level for all but the last
  7582  			//     branch.
  7583  
  7584  			for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) == OP_ALT {
  7585  				if !(compare_opcodes(tls, code, utf, ucp, cb, base_list, base_end, rec_limit) != 0) {
  7586  					return DFALSE
  7587  				}
  7588  				code = next_code + uintptr(1) + uintptr(DLINK_SIZE)
  7589  				next_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 2)))))
  7590  			}
  7591  
  7592  			entered_a_group = DTRUE
  7593  			continue
  7594  
  7595  		case OP_BRAZERO:
  7596  			fallthrough
  7597  		case OP_BRAMINZERO:
  7598  
  7599  			next_code = code + uintptr(1)
  7600  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) != OP_BRA && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) != OP_CBRA && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) != OP_ONCE {
  7601  				return DFALSE
  7602  			}
  7603  
  7604  			for __ccgo1 := true; __ccgo1; __ccgo1 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code))) == OP_ALT {
  7605  				next_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_code + 2)))))
  7606  			}
  7607  
  7608  			// The bracket content will be checked by the OP_BRA/OP_CBRA case above.
  7609  
  7610  			next_code += TPCRE2_SPTR8(1 + DLINK_SIZE)
  7611  			if !(compare_opcodes(tls, next_code, utf, ucp, cb, base_list, base_end,
  7612  				rec_limit) != 0) {
  7613  				return DFALSE
  7614  			}
  7615  
  7616  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
  7617  			continue
  7618  
  7619  		// The next opcode does not need special handling; fall through and use it
  7620  		//     to see if the base can be possessified.
  7621  
  7622  		default:
  7623  			break
  7624  		}
  7625  
  7626  		// We now have the next appropriate opcode to compare with the base. Check
  7627  		//   for a supported opcode, and load its properties.
  7628  
  7629  		code = get_chr_property_list(tls, code, utf, ucp, (*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc, bp)
  7630  		if code == uintptr(0) {
  7631  			return DFALSE
  7632  		} // Unsupported
  7633  
  7634  		// If either opcode is a small character list, set pointers for comparing
  7635  		//   characters from that list with another list, or with a property.
  7636  
  7637  		if *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_CHAR {
  7638  			chr_ptr = base_list + uintptr(2)*4
  7639  			list_ptr = bp /* &list[0] */
  7640  		} else if *(*Tuint32_t)(unsafe.Pointer(bp)) == OP_CHAR {
  7641  			chr_ptr = bp + uintptr(2)*4
  7642  			list_ptr = base_list
  7643  		} else if *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_CLASS || *(*Tuint32_t)(unsafe.Pointer(bp)) == OP_CLASS ||
  7644  
  7645  			!(utf != 0) && (*(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_NCLASS || *(*Tuint32_t)(unsafe.Pointer(bp)) == OP_NCLASS) {
  7646  			if *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_CLASS || !(utf != 0) && *(*Tuint32_t)(unsafe.Pointer(base_list)) == OP_NCLASS {
  7647  				set1 = base_end - uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 2*4)))
  7648  				list_ptr = bp /* &list[0] */
  7649  			} else {
  7650  				set1 = code - uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 2*4)))
  7651  				list_ptr = base_list
  7652  			}
  7653  
  7654  			invert_bits = DFALSE
  7655  			switch *(*Tuint32_t)(unsafe.Pointer(list_ptr)) {
  7656  			case OP_CLASS:
  7657  				fallthrough
  7658  			case OP_NCLASS:
  7659  				set2 = func() uintptr {
  7660  					if list_ptr == bp {
  7661  						return code
  7662  					}
  7663  					return base_end
  7664  				}() - uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4)))
  7665  				break
  7666  				fallthrough
  7667  
  7668  			case OP_XCLASS:
  7669  				xclass_flags = func() uintptr {
  7670  					if list_ptr == bp {
  7671  						return code
  7672  					}
  7673  					return base_end
  7674  				}() - uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4))) + uintptr(DLINK_SIZE)
  7675  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(xclass_flags)))&DXCL_HASPROP != 0 {
  7676  					return DFALSE
  7677  				}
  7678  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(xclass_flags)))&DXCL_MAP == 0 {
  7679  					// No bits are set for characters < 256.
  7680  					if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) {
  7681  						return libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(xclass_flags)))&DXCL_NOT == 0)
  7682  					}
  7683  					// Might be an empty repeat.
  7684  					continue
  7685  				}
  7686  				set2 = xclass_flags + uintptr(1)
  7687  				break
  7688  				fallthrough
  7689  
  7690  			case OP_NOT_DIGIT:
  7691  				invert_bits = DTRUE
  7692  				fallthrough
  7693  			// Fall through
  7694  			case OP_DIGIT:
  7695  				set2 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits + uintptr(Dcbit_digit)
  7696  				break
  7697  				fallthrough
  7698  
  7699  			case OP_NOT_WHITESPACE:
  7700  				invert_bits = DTRUE
  7701  				fallthrough
  7702  			// Fall through
  7703  			case OP_WHITESPACE:
  7704  				set2 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits + uintptr(Dcbit_space)
  7705  				break
  7706  				fallthrough
  7707  
  7708  			case OP_NOT_WORDCHAR:
  7709  				invert_bits = DTRUE
  7710  				fallthrough
  7711  			// Fall through
  7712  			case OP_WORDCHAR:
  7713  				set2 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits + uintptr(Dcbit_word)
  7714  				break
  7715  				fallthrough
  7716  
  7717  			default:
  7718  				return DFALSE
  7719  			}
  7720  
  7721  			// Because the bit sets are unaligned bytes, we need to perform byte
  7722  			//     comparison here.
  7723  
  7724  			set_end = set1 + uintptr(32)
  7725  			if invert_bits != 0 {
  7726  				for __ccgo2 := true; __ccgo2; __ccgo2 = set1 < set_end {
  7727  					if int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set1, 1)))) & ^int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set2, 1)))) != 0 {
  7728  						return DFALSE
  7729  					}
  7730  				}
  7731  			} else {
  7732  				for __ccgo3 := true; __ccgo3; __ccgo3 = set1 < set_end {
  7733  					if int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set1, 1))))&int32(*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&set2, 1)))) != 0 {
  7734  						return DFALSE
  7735  					}
  7736  				}
  7737  			}
  7738  
  7739  			if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) {
  7740  				return DTRUE
  7741  			}
  7742  			// Might be an empty repeat.
  7743  			continue
  7744  		} else {
  7745  			var leftop Tuint32_t
  7746  			var rightop Tuint32_t
  7747  
  7748  			leftop = *(*Tuint32_t)(unsafe.Pointer(base_list))
  7749  			rightop = *(*Tuint32_t)(unsafe.Pointer(bp))
  7750  
  7751  			accepted = DFALSE // Always set in non-unicode case.
  7752  			if leftop == OP_PROP || leftop == OP_NOTPROP {
  7753  				if rightop == OP_EOD {
  7754  					accepted = DTRUE
  7755  				} else if rightop == OP_PROP || rightop == OP_NOTPROP {
  7756  					var n int32
  7757  					var p uintptr
  7758  					var same TBOOL = libc.Bool32(leftop == rightop)
  7759  					var lisprop TBOOL = libc.Bool32(leftop == OP_PROP)
  7760  					var risprop TBOOL = libc.Bool32(rightop == OP_PROP)
  7761  					var bothprop TBOOL = libc.Bool32(lisprop != 0 && risprop != 0)
  7762  
  7763  					// There's a table that specifies how each combination is to be
  7764  					//         processed:
  7765  					//           0   Always return FALSE (never auto-possessify)
  7766  					//           1   Character groups are distinct (possessify if both are OP_PROP)
  7767  					//           2   Check character categories in the same group (general or particular)
  7768  					//           3   Return TRUE if the two opcodes are not the same
  7769  					//           ... see comments below
  7770  					//
  7771  
  7772  					n = int32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&propposstab)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 2*4)))*14 + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 2*4))))))
  7773  					switch n {
  7774  					case 0:
  7775  						break
  7776  						fallthrough
  7777  					case 1:
  7778  						accepted = bothprop
  7779  						break
  7780  						fallthrough
  7781  					case 2:
  7782  						accepted = libc.Bool32(libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) == *(*Tuint32_t)(unsafe.Pointer(bp + 3*4))) != same)
  7783  						break
  7784  						fallthrough
  7785  					case 3:
  7786  						accepted = libc.BoolInt32(!(same != 0))
  7787  						break
  7788  						fallthrough
  7789  
  7790  					case 4: // Left general category, right particular category
  7791  						accepted = libc.Bool32(risprop != 0 && int32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)))))) == same)
  7792  						break
  7793  						fallthrough
  7794  
  7795  					case 5: // Right general category, left particular category
  7796  						accepted = libc.Bool32(lisprop != 0 && int32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)))))) == same)
  7797  						break
  7798  						fallthrough
  7799  
  7800  					// This code is logically tricky. Think hard before fiddling with it.
  7801  					//           The posspropstab table has four entries per row. Each row relates to
  7802  					//           one of PCRE's special properties such as ALNUM or SPACE or WORD.
  7803  					//           Only WORD actually needs all four entries, but using repeats for the
  7804  					//           others means they can all use the same code below.
  7805  					//
  7806  					//           The first two entries in each row are Unicode general categories, and
  7807  					//           apply always, because all the characters they include are part of the
  7808  					//           PCRE character set. The third and fourth entries are a general and a
  7809  					//           particular category, respectively, that include one or more relevant
  7810  					//           characters. One or the other is used, depending on whether the check
  7811  					//           is for a general or a particular category. However, in both cases the
  7812  					//           category contains more characters than the specials that are defined
  7813  					//           for the property being tested against. Therefore, it cannot be used
  7814  					//           in a NOTPROP case.
  7815  					//
  7816  					//           Example: the row for WORD contains ucp_L, ucp_N, ucp_P, ucp_Po.
  7817  					//           Underscore is covered by ucp_P or ucp_Po.
  7818  
  7819  					case 6:
  7820  						fallthrough // Left alphanum vs right general category
  7821  					case 7:
  7822  						fallthrough // Left space vs right general category
  7823  					case 8: // Left word vs right general category
  7824  						p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-6)*4
  7825  						accepted = libc.Bool32(risprop != 0 && lisprop == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p))) && *(*Tuint32_t)(unsafe.Pointer(bp + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 1))) && (*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 2))) || !(lisprop != 0))))
  7826  						break
  7827  						fallthrough
  7828  
  7829  					case 9:
  7830  						fallthrough // Right alphanum vs left general category
  7831  					case 10:
  7832  						fallthrough // Right space vs left general category
  7833  					case 11: // Right word vs left general category
  7834  						p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-9)*4
  7835  						accepted = libc.Bool32(lisprop != 0 && risprop == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p))) && *(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 1))) && (*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 2))) || !(risprop != 0))))
  7836  						break
  7837  						fallthrough
  7838  
  7839  					case 12:
  7840  						fallthrough // Left alphanum vs right particular category
  7841  					case 13:
  7842  						fallthrough // Left space vs right particular category
  7843  					case 14: // Left word vs right particular category
  7844  						p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-12)*4
  7845  						accepted = libc.Bool32(risprop != 0 && lisprop == libc.Bool32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint8_t)(unsafe.Pointer(p)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4))))) != 0 && *(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint8_t)(unsafe.Pointer(p + 1)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 3*4))))) != 0 && (*(*Tuint32_t)(unsafe.Pointer(bp + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 3))) || !(lisprop != 0))))
  7846  						break
  7847  						fallthrough
  7848  
  7849  					case 15:
  7850  						fallthrough // Right alphanum vs left particular category
  7851  					case 16:
  7852  						fallthrough // Right space vs left particular category
  7853  					case 17: // Right word vs left particular category
  7854  						p = uintptr(unsafe.Pointer(&posspropstab)) + uintptr(n-15)*4
  7855  						accepted = libc.Bool32(lisprop != 0 && risprop == libc.Bool32(*(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint8_t)(unsafe.Pointer(p)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4))))) != 0 && *(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&catposstab)) + uintptr(*(*Tuint8_t)(unsafe.Pointer(p + 1)))*30 + uintptr(*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4))))) != 0 && (*(*Tuint32_t)(unsafe.Pointer(base_list + 3*4)) != Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(p + 3))) || !(risprop != 0))))
  7856  						break
  7857  					}
  7858  				}
  7859  			} else {
  7860  
  7861  				accepted = libc.Bool32(leftop >= OP_NOT_DIGIT && leftop <= OP_EXTUNI && rightop >= OP_NOT_DIGIT && rightop <= OP_DOLLM && *(*Tuint8_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&autoposstab)) + uintptr(leftop-OP_NOT_DIGIT)*21 + uintptr(rightop-OP_NOT_DIGIT))) != 0)
  7862  			}
  7863  
  7864  			if !(accepted != 0) {
  7865  				return DFALSE
  7866  			}
  7867  
  7868  			if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) {
  7869  				return DTRUE
  7870  			}
  7871  			// Might be an empty repeat.
  7872  			continue
  7873  		}
  7874  
  7875  		// Control reaches here only if one of the items is a small character list.
  7876  		//   All characters are checked against the other side.
  7877  
  7878  		for __ccgo4 := true; __ccgo4; __ccgo4 = *(*Tuint32_t)(unsafe.Pointer(chr_ptr)) != DNOTACHAR {
  7879  			chr = *(*Tuint32_t)(unsafe.Pointer(chr_ptr))
  7880  
  7881  			switch *(*Tuint32_t)(unsafe.Pointer(list_ptr)) {
  7882  			case OP_CHAR:
  7883  				ochr_ptr = list_ptr + uintptr(2)*4
  7884  				for __ccgo5 := true; __ccgo5; __ccgo5 = *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) != DNOTACHAR {
  7885  					if chr == *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) {
  7886  						return DFALSE
  7887  					}
  7888  					ochr_ptr += 4
  7889  				}
  7890  				break
  7891  
  7892  			case OP_NOT:
  7893  				ochr_ptr = list_ptr + uintptr(2)*4
  7894  				for __ccgo6 := true; __ccgo6; __ccgo6 = *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) != DNOTACHAR {
  7895  					if chr == *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) {
  7896  						break
  7897  					}
  7898  					ochr_ptr += 4
  7899  				}
  7900  				if *(*Tuint32_t)(unsafe.Pointer(ochr_ptr)) == DNOTACHAR {
  7901  					return DFALSE
  7902  				} // Not found
  7903  				break
  7904  
  7905  			// Note that OP_DIGIT etc. are generated only when PCRE2_UCP is *not*
  7906  			//       set. When it is set, \d etc. are converted into OP_(NOT_)PROP codes.
  7907  
  7908  			case OP_DIGIT:
  7909  				if chr < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_digit != 0 {
  7910  					return DFALSE
  7911  				}
  7912  				break
  7913  
  7914  			case OP_NOT_DIGIT:
  7915  				if chr > Tuint32_t(255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_digit == 0 {
  7916  					return DFALSE
  7917  				}
  7918  				break
  7919  
  7920  			case OP_WHITESPACE:
  7921  				if chr < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_space != 0 {
  7922  					return DFALSE
  7923  				}
  7924  				break
  7925  
  7926  			case OP_NOT_WHITESPACE:
  7927  				if chr > Tuint32_t(255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_space == 0 {
  7928  					return DFALSE
  7929  				}
  7930  				break
  7931  
  7932  			case OP_WORDCHAR:
  7933  				if chr < Tuint32_t(255) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_word != 0 {
  7934  					return DFALSE
  7935  				}
  7936  				break
  7937  
  7938  			case OP_NOT_WORDCHAR:
  7939  				if chr > Tuint32_t(255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(chr))))&Dctype_word == 0 {
  7940  					return DFALSE
  7941  				}
  7942  				break
  7943  
  7944  			case OP_HSPACE:
  7945  				switch chr {
  7946  				case Tuint32_t('\011'):
  7947  					fallthrough
  7948  				case Tuint32_t('\040'):
  7949  					fallthrough
  7950  				case Tuint32_t(uint8('\xa0')):
  7951  					fallthrough
  7952  				case Tuint32_t(0x1680):
  7953  					fallthrough /* OGHAM SPACE MARK */
  7954  				case Tuint32_t(0x180e):
  7955  					fallthrough /* MONGOLIAN VOWEL SEPARATOR */
  7956  				case Tuint32_t(0x2000):
  7957  					fallthrough /* EN QUAD */
  7958  				case Tuint32_t(0x2001):
  7959  					fallthrough /* EM QUAD */
  7960  				case Tuint32_t(0x2002):
  7961  					fallthrough /* EN SPACE */
  7962  				case Tuint32_t(0x2003):
  7963  					fallthrough /* EM SPACE */
  7964  				case Tuint32_t(0x2004):
  7965  					fallthrough /* THREE-PER-EM SPACE */
  7966  				case Tuint32_t(0x2005):
  7967  					fallthrough /* FOUR-PER-EM SPACE */
  7968  				case Tuint32_t(0x2006):
  7969  					fallthrough /* SIX-PER-EM SPACE */
  7970  				case Tuint32_t(0x2007):
  7971  					fallthrough /* FIGURE SPACE */
  7972  				case Tuint32_t(0x2008):
  7973  					fallthrough /* PUNCTUATION SPACE */
  7974  				case Tuint32_t(0x2009):
  7975  					fallthrough /* THIN SPACE */
  7976  				case Tuint32_t(0x200A):
  7977  					fallthrough /* HAIR SPACE */
  7978  				case Tuint32_t(0x202f):
  7979  					fallthrough /* NARROW NO-BREAK SPACE */
  7980  				case Tuint32_t(0x205f):
  7981  					fallthrough /* MEDIUM MATHEMATICAL SPACE */
  7982  				case Tuint32_t(0x3000):
  7983  					return DFALSE
  7984  				default:
  7985  					break
  7986  				}
  7987  				break
  7988  
  7989  			case OP_NOT_HSPACE:
  7990  				switch chr {
  7991  				case Tuint32_t('\011'):
  7992  					fallthrough
  7993  				case Tuint32_t('\040'):
  7994  					fallthrough
  7995  				case Tuint32_t(uint8('\xa0')):
  7996  					fallthrough
  7997  				case Tuint32_t(0x1680):
  7998  					fallthrough /* OGHAM SPACE MARK */
  7999  				case Tuint32_t(0x180e):
  8000  					fallthrough /* MONGOLIAN VOWEL SEPARATOR */
  8001  				case Tuint32_t(0x2000):
  8002  					fallthrough /* EN QUAD */
  8003  				case Tuint32_t(0x2001):
  8004  					fallthrough /* EM QUAD */
  8005  				case Tuint32_t(0x2002):
  8006  					fallthrough /* EN SPACE */
  8007  				case Tuint32_t(0x2003):
  8008  					fallthrough /* EM SPACE */
  8009  				case Tuint32_t(0x2004):
  8010  					fallthrough /* THREE-PER-EM SPACE */
  8011  				case Tuint32_t(0x2005):
  8012  					fallthrough /* FOUR-PER-EM SPACE */
  8013  				case Tuint32_t(0x2006):
  8014  					fallthrough /* SIX-PER-EM SPACE */
  8015  				case Tuint32_t(0x2007):
  8016  					fallthrough /* FIGURE SPACE */
  8017  				case Tuint32_t(0x2008):
  8018  					fallthrough /* PUNCTUATION SPACE */
  8019  				case Tuint32_t(0x2009):
  8020  					fallthrough /* THIN SPACE */
  8021  				case Tuint32_t(0x200A):
  8022  					fallthrough /* HAIR SPACE */
  8023  				case Tuint32_t(0x202f):
  8024  					fallthrough /* NARROW NO-BREAK SPACE */
  8025  				case Tuint32_t(0x205f):
  8026  					fallthrough /* MEDIUM MATHEMATICAL SPACE */
  8027  				case Tuint32_t(0x3000):
  8028  					break
  8029  				default:
  8030  					return DFALSE
  8031  				}
  8032  				break
  8033  
  8034  			case OP_ANYNL:
  8035  				fallthrough
  8036  			case OP_VSPACE:
  8037  				switch chr {
  8038  				case Tuint32_t('\012'):
  8039  					fallthrough
  8040  				case Tuint32_t('\013'):
  8041  					fallthrough
  8042  				case Tuint32_t('\014'):
  8043  					fallthrough
  8044  				case Tuint32_t('\015'):
  8045  					fallthrough
  8046  				case Tuint32_t(uint8('\x85')):
  8047  					fallthrough
  8048  				case Tuint32_t(0x2028):
  8049  					fallthrough /* LINE SEPARATOR */
  8050  				case Tuint32_t(0x2029):
  8051  					return DFALSE
  8052  				default:
  8053  					break
  8054  				}
  8055  				break
  8056  
  8057  			case OP_NOT_VSPACE:
  8058  				switch chr {
  8059  				case Tuint32_t('\012'):
  8060  					fallthrough
  8061  				case Tuint32_t('\013'):
  8062  					fallthrough
  8063  				case Tuint32_t('\014'):
  8064  					fallthrough
  8065  				case Tuint32_t('\015'):
  8066  					fallthrough
  8067  				case Tuint32_t(uint8('\x85')):
  8068  					fallthrough
  8069  				case Tuint32_t(0x2028):
  8070  					fallthrough /* LINE SEPARATOR */
  8071  				case Tuint32_t(0x2029):
  8072  					break
  8073  				default:
  8074  					return DFALSE
  8075  				}
  8076  				break
  8077  
  8078  			case OP_DOLL:
  8079  				fallthrough
  8080  			case OP_EODN:
  8081  				switch chr {
  8082  				case Tuint32_t('\015'):
  8083  					fallthrough
  8084  				case Tuint32_t('\012'):
  8085  					fallthrough
  8086  				case Tuint32_t('\013'):
  8087  					fallthrough
  8088  				case Tuint32_t('\014'):
  8089  					fallthrough
  8090  				case Tuint32_t(uint8('\x85')):
  8091  					fallthrough
  8092  				case Tuint32_t(0x2028):
  8093  					fallthrough
  8094  				case Tuint32_t(0x2029):
  8095  					return DFALSE
  8096  				}
  8097  				break
  8098  
  8099  			case OP_EOD: // Can always possessify before \z
  8100  				break
  8101  
  8102  			case OP_PROP:
  8103  				fallthrough
  8104  			case OP_NOTPROP:
  8105  				if !(check_char_prop(tls, chr, *(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4)), *(*Tuint32_t)(unsafe.Pointer(list_ptr + 3*4)),
  8106  					libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(list_ptr)) == OP_NOTPROP)) != 0) {
  8107  					return DFALSE
  8108  				}
  8109  				break
  8110  
  8111  			case OP_NCLASS:
  8112  				if chr > Tuint32_t(255) {
  8113  					return DFALSE
  8114  				}
  8115  				fallthrough
  8116  			// Fall through
  8117  
  8118  			case OP_CLASS:
  8119  				if chr > Tuint32_t(255) {
  8120  					break
  8121  				}
  8122  				class_bitset = func() uintptr {
  8123  					if list_ptr == bp {
  8124  						return code
  8125  					}
  8126  					return base_end
  8127  				}() - uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4)))
  8128  				if uint32(*(*Tuint8_t)(unsafe.Pointer(class_bitset + uintptr(chr>>3))))&(uint32(1)<<(chr&Tuint32_t(7))) != uint32(0) {
  8129  					return DFALSE
  8130  				}
  8131  				break
  8132  
  8133  			case OP_XCLASS:
  8134  				if X_pcre2_xclass_8(tls, chr, func() uintptr {
  8135  					if list_ptr == bp {
  8136  						return code
  8137  					}
  8138  					return base_end
  8139  				}()-uintptr(*(*Tuint32_t)(unsafe.Pointer(list_ptr + 2*4)))+uintptr(DLINK_SIZE), utf) != 0 {
  8140  					return DFALSE
  8141  				}
  8142  				break
  8143  
  8144  			default:
  8145  				return DFALSE
  8146  			}
  8147  
  8148  			chr_ptr += 4
  8149  		}
  8150  
  8151  		// At least one character must be matched from this opcode.
  8152  
  8153  		if *(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) == Tuint32_t(0) {
  8154  			return DTRUE
  8155  		}
  8156  	}
  8157  	return TBOOL(0)
  8158  
  8159  	// Control never reaches here. There used to be a fail-save return FALSE; here,
  8160  	// but some compilers complain about an unreachable statement.
  8161  }
  8162  
  8163  // ************************************************
  8164  //
  8165  //    Scan compiled regex for auto-possession     *
  8166  //
  8167  
  8168  // Replaces single character iterations with their possessive alternatives
  8169  // if appropriate. This function modifies the compiled opcode! Hitting a
  8170  // non-existent opcode may indicate a bug in PCRE2, but it can also be caused if a
  8171  // bad UTF string was compiled with PCRE2_NO_UTF_CHECK. The rec_limit catches
  8172  // overly complicated or large patterns. In these cases, the check just stops,
  8173  // leaving the remainder of the pattern unpossessified.
  8174  //
  8175  // Arguments:
  8176  //   code        points to start of the byte code
  8177  //   cb          compile data block
  8178  //
  8179  // Returns:      0 for success
  8180  //               -1 if a non-existant opcode is encountered
  8181  
  8182  func X_pcre2_auto_possessify_8(tls *libc.TLS, code uintptr, cb uintptr) int32 { /* pcre2_auto_possess.c:1132:1: */
  8183  	bp := tls.Alloc(36)
  8184  	defer tls.Free(36)
  8185  
  8186  	var c TPCRE2_UCHAR8
  8187  	var end TPCRE2_SPTR8
  8188  	var repeat_opcode uintptr
  8189  	// var list [8]Tuint32_t at bp, 32
  8190  
  8191  	*(*int32)(unsafe.Pointer(bp + 32 /* rec_limit */)) = 1000 // Was 10,000 but clang+ASAN uses a lot of stack.
  8192  	var utf TBOOL = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_UTF != Tuint32_t(0))
  8193  	var ucp TBOOL = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_UCP != Tuint32_t(0))
  8194  
  8195  	for {
  8196  		c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  8197  
  8198  		if int32(c) >= OP_TABLE_LENGTH {
  8199  			return -1
  8200  		} // Something gone wrong
  8201  
  8202  		if int32(c) >= OP_STAR && int32(c) <= OP_TYPEPOSUPTO {
  8203  			c = TPCRE2_UCHAR8(int32(c) - (int32(get_repeat_base(tls, c)) - OP_STAR))
  8204  			if int32(c) <= OP_MINUPTO {
  8205  				end = get_chr_property_list(tls, code, utf, ucp, (*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc, bp)
  8206  			} else {
  8207  				end = uintptr(0)
  8208  			}
  8209  			*(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) = Tuint32_t(libc.Bool32(int32(c) == OP_STAR || int32(c) == OP_PLUS || int32(c) == OP_QUERY || int32(c) == OP_UPTO))
  8210  
  8211  			if end != uintptr(0) && compare_opcodes(tls, end, utf, ucp, cb, bp, end,
  8212  				bp+32) != 0 {
  8213  				switch int32(c) {
  8214  				case OP_STAR:
  8215  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSSTAR - OP_STAR)
  8216  					break
  8217  					fallthrough
  8218  
  8219  				case OP_MINSTAR:
  8220  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSSTAR - OP_MINSTAR)
  8221  					break
  8222  					fallthrough
  8223  
  8224  				case OP_PLUS:
  8225  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSPLUS - OP_PLUS)
  8226  					break
  8227  					fallthrough
  8228  
  8229  				case OP_MINPLUS:
  8230  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSPLUS - OP_MINPLUS)
  8231  					break
  8232  					fallthrough
  8233  
  8234  				case OP_QUERY:
  8235  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSQUERY - OP_QUERY)
  8236  					break
  8237  					fallthrough
  8238  
  8239  				case OP_MINQUERY:
  8240  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSQUERY - OP_MINQUERY)
  8241  					break
  8242  					fallthrough
  8243  
  8244  				case OP_UPTO:
  8245  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSUPTO - OP_UPTO)
  8246  					break
  8247  					fallthrough
  8248  
  8249  				case OP_MINUPTO:
  8250  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) += TPCRE2_UCHAR8(OP_POSUPTO - OP_MINUPTO)
  8251  					break
  8252  				}
  8253  			}
  8254  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  8255  		} else if int32(c) == OP_CLASS || int32(c) == OP_NCLASS || int32(c) == OP_XCLASS {
  8256  			if int32(c) == OP_XCLASS {
  8257  				repeat_opcode = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
  8258  			} else {
  8259  				repeat_opcode = code + uintptr(1) + uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
  8260  			}
  8261  
  8262  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode))
  8263  			if int32(c) >= OP_CRSTAR && int32(c) <= OP_CRMINRANGE {
  8264  				// The return from get_chr_property_list() will never be NULL when
  8265  				// code (aka c) is one of the three class opcodes. However, gcc with
  8266  				//       -fanalyzer notes that a NULL return is possible, and grumbles. Hence we
  8267  				//       put in a check.
  8268  
  8269  				end = get_chr_property_list(tls, code, utf, ucp, (*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc, bp)
  8270  				*(*Tuint32_t)(unsafe.Pointer(bp + 1*4)) = Tuint32_t(libc.Bool32(int32(c)&1 == 0))
  8271  
  8272  				if end != uintptr(0) && compare_opcodes(tls, end, utf, ucp, cb, bp, end, bp+32) != 0 {
  8273  					switch int32(c) {
  8274  					case OP_CRSTAR:
  8275  						fallthrough
  8276  					case OP_CRMINSTAR:
  8277  						*(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSSTAR
  8278  						break
  8279  						fallthrough
  8280  
  8281  					case OP_CRPLUS:
  8282  						fallthrough
  8283  					case OP_CRMINPLUS:
  8284  						*(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSPLUS
  8285  						break
  8286  						fallthrough
  8287  
  8288  					case OP_CRQUERY:
  8289  						fallthrough
  8290  					case OP_CRMINQUERY:
  8291  						*(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSQUERY
  8292  						break
  8293  						fallthrough
  8294  
  8295  					case OP_CRRANGE:
  8296  						fallthrough
  8297  					case OP_CRMINRANGE:
  8298  						*(*TPCRE2_UCHAR8)(unsafe.Pointer(repeat_opcode)) = OP_CRPOSRANGE
  8299  						break
  8300  					}
  8301  				}
  8302  			}
  8303  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
  8304  		}
  8305  
  8306  		switch int32(c) {
  8307  		case OP_END:
  8308  			return 0
  8309  
  8310  		case OP_TYPESTAR:
  8311  			fallthrough
  8312  		case OP_TYPEMINSTAR:
  8313  			fallthrough
  8314  		case OP_TYPEPLUS:
  8315  			fallthrough
  8316  		case OP_TYPEMINPLUS:
  8317  			fallthrough
  8318  		case OP_TYPEQUERY:
  8319  			fallthrough
  8320  		case OP_TYPEMINQUERY:
  8321  			fallthrough
  8322  		case OP_TYPEPOSSTAR:
  8323  			fallthrough
  8324  		case OP_TYPEPOSPLUS:
  8325  			fallthrough
  8326  		case OP_TYPEPOSQUERY:
  8327  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_NOTPROP {
  8328  				code += uintptr(2)
  8329  			}
  8330  			break
  8331  
  8332  		case OP_TYPEUPTO:
  8333  			fallthrough
  8334  		case OP_TYPEMINUPTO:
  8335  			fallthrough
  8336  		case OP_TYPEEXACT:
  8337  			fallthrough
  8338  		case OP_TYPEPOSUPTO:
  8339  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_NOTPROP {
  8340  				code += uintptr(2)
  8341  			}
  8342  			break
  8343  
  8344  		case OP_CALLOUT_STR:
  8345  			code += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
  8346  			break
  8347  
  8348  		case OP_XCLASS:
  8349  			code += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
  8350  			break
  8351  
  8352  		case OP_MARK:
  8353  			fallthrough
  8354  		case OP_COMMIT_ARG:
  8355  			fallthrough
  8356  		case OP_PRUNE_ARG:
  8357  			fallthrough
  8358  		case OP_SKIP_ARG:
  8359  			fallthrough
  8360  		case OP_THEN_ARG:
  8361  			code += uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
  8362  			break
  8363  		}
  8364  
  8365  		// Add in the fixed length from the table
  8366  
  8367  		code += uintptr(X_pcre2_OP_lengths_8[c])
  8368  
  8369  		// In UTF-8 and UTF-16 modes, opcodes that are followed by a character may be
  8370  		//   followed by a multi-byte character. The length in the table is a minimum, so
  8371  		//   we have to arrange to skip the extra code units.
  8372  
  8373  		if utf != 0 {
  8374  			switch int32(c) {
  8375  			case OP_CHAR:
  8376  				fallthrough
  8377  			case OP_CHARI:
  8378  				fallthrough
  8379  			case OP_NOT:
  8380  				fallthrough
  8381  			case OP_NOTI:
  8382  				fallthrough
  8383  			case OP_STAR:
  8384  				fallthrough
  8385  			case OP_MINSTAR:
  8386  				fallthrough
  8387  			case OP_PLUS:
  8388  				fallthrough
  8389  			case OP_MINPLUS:
  8390  				fallthrough
  8391  			case OP_QUERY:
  8392  				fallthrough
  8393  			case OP_MINQUERY:
  8394  				fallthrough
  8395  			case OP_UPTO:
  8396  				fallthrough
  8397  			case OP_MINUPTO:
  8398  				fallthrough
  8399  			case OP_EXACT:
  8400  				fallthrough
  8401  			case OP_POSSTAR:
  8402  				fallthrough
  8403  			case OP_POSPLUS:
  8404  				fallthrough
  8405  			case OP_POSQUERY:
  8406  				fallthrough
  8407  			case OP_POSUPTO:
  8408  				fallthrough
  8409  			case OP_STARI:
  8410  				fallthrough
  8411  			case OP_MINSTARI:
  8412  				fallthrough
  8413  			case OP_PLUSI:
  8414  				fallthrough
  8415  			case OP_MINPLUSI:
  8416  				fallthrough
  8417  			case OP_QUERYI:
  8418  				fallthrough
  8419  			case OP_MINQUERYI:
  8420  				fallthrough
  8421  			case OP_UPTOI:
  8422  				fallthrough
  8423  			case OP_MINUPTOI:
  8424  				fallthrough
  8425  			case OP_EXACTI:
  8426  				fallthrough
  8427  			case OP_POSSTARI:
  8428  				fallthrough
  8429  			case OP_POSPLUSI:
  8430  				fallthrough
  8431  			case OP_POSQUERYI:
  8432  				fallthrough
  8433  			case OP_POSUPTOI:
  8434  				fallthrough
  8435  			case OP_NOTSTAR:
  8436  				fallthrough
  8437  			case OP_NOTMINSTAR:
  8438  				fallthrough
  8439  			case OP_NOTPLUS:
  8440  				fallthrough
  8441  			case OP_NOTMINPLUS:
  8442  				fallthrough
  8443  			case OP_NOTQUERY:
  8444  				fallthrough
  8445  			case OP_NOTMINQUERY:
  8446  				fallthrough
  8447  			case OP_NOTUPTO:
  8448  				fallthrough
  8449  			case OP_NOTMINUPTO:
  8450  				fallthrough
  8451  			case OP_NOTEXACT:
  8452  				fallthrough
  8453  			case OP_NOTPOSSTAR:
  8454  				fallthrough
  8455  			case OP_NOTPOSPLUS:
  8456  				fallthrough
  8457  			case OP_NOTPOSQUERY:
  8458  				fallthrough
  8459  			case OP_NOTPOSUPTO:
  8460  				fallthrough
  8461  			case OP_NOTSTARI:
  8462  				fallthrough
  8463  			case OP_NOTMINSTARI:
  8464  				fallthrough
  8465  			case OP_NOTPLUSI:
  8466  				fallthrough
  8467  			case OP_NOTMINPLUSI:
  8468  				fallthrough
  8469  			case OP_NOTQUERYI:
  8470  				fallthrough
  8471  			case OP_NOTMINQUERYI:
  8472  				fallthrough
  8473  			case OP_NOTUPTOI:
  8474  				fallthrough
  8475  			case OP_NOTMINUPTOI:
  8476  				fallthrough
  8477  			case OP_NOTEXACTI:
  8478  				fallthrough
  8479  			case OP_NOTPOSSTARI:
  8480  				fallthrough
  8481  			case OP_NOTPOSPLUSI:
  8482  				fallthrough
  8483  			case OP_NOTPOSQUERYI:
  8484  				fallthrough
  8485  			case OP_NOTPOSUPTOI:
  8486  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))) >= 0xc0 {
  8487  					code += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0x3f])
  8488  				}
  8489  				break
  8490  			}
  8491  		}
  8492  	}
  8493  	return int32(0)
  8494  }
  8495  
  8496  // End of pcre2_auto_possess.c
  8497  
  8498  // This function is needed only when memmove() is not available.
  8499  
  8500  // End of pcre2_internal.h
  8501  
  8502  var X_pcre2_default_tables_8 = [1088]Tuint8_t{
  8503  
  8504  	// This table is a lower casing table.
  8505  
  8506  	Tuint8_t(0), Tuint8_t(1), Tuint8_t(2), Tuint8_t(3), Tuint8_t(4), Tuint8_t(5), Tuint8_t(6), Tuint8_t(7),
  8507  	Tuint8_t(8), Tuint8_t(9), Tuint8_t(10), Tuint8_t(11), Tuint8_t(12), Tuint8_t(13), Tuint8_t(14), Tuint8_t(15),
  8508  	Tuint8_t(16), Tuint8_t(17), Tuint8_t(18), Tuint8_t(19), Tuint8_t(20), Tuint8_t(21), Tuint8_t(22), Tuint8_t(23),
  8509  	Tuint8_t(24), Tuint8_t(25), Tuint8_t(26), Tuint8_t(27), Tuint8_t(28), Tuint8_t(29), Tuint8_t(30), Tuint8_t(31),
  8510  	Tuint8_t(32), Tuint8_t(33), Tuint8_t(34), Tuint8_t(35), Tuint8_t(36), Tuint8_t(37), Tuint8_t(38), Tuint8_t(39),
  8511  	Tuint8_t(40), Tuint8_t(41), Tuint8_t(42), Tuint8_t(43), Tuint8_t(44), Tuint8_t(45), Tuint8_t(46), Tuint8_t(47),
  8512  	Tuint8_t(48), Tuint8_t(49), Tuint8_t(50), Tuint8_t(51), Tuint8_t(52), Tuint8_t(53), Tuint8_t(54), Tuint8_t(55),
  8513  	Tuint8_t(56), Tuint8_t(57), Tuint8_t(58), Tuint8_t(59), Tuint8_t(60), Tuint8_t(61), Tuint8_t(62), Tuint8_t(63),
  8514  	Tuint8_t(64), Tuint8_t(97), Tuint8_t(98), Tuint8_t(99), Tuint8_t(100), Tuint8_t(101), Tuint8_t(102), Tuint8_t(103),
  8515  	Tuint8_t(104), Tuint8_t(105), Tuint8_t(106), Tuint8_t(107), Tuint8_t(108), Tuint8_t(109), Tuint8_t(110), Tuint8_t(111),
  8516  	Tuint8_t(112), Tuint8_t(113), Tuint8_t(114), Tuint8_t(115), Tuint8_t(116), Tuint8_t(117), Tuint8_t(118), Tuint8_t(119),
  8517  	Tuint8_t(120), Tuint8_t(121), Tuint8_t(122), Tuint8_t(91), Tuint8_t(92), Tuint8_t(93), Tuint8_t(94), Tuint8_t(95),
  8518  	Tuint8_t(96), Tuint8_t(97), Tuint8_t(98), Tuint8_t(99), Tuint8_t(100), Tuint8_t(101), Tuint8_t(102), Tuint8_t(103),
  8519  	Tuint8_t(104), Tuint8_t(105), Tuint8_t(106), Tuint8_t(107), Tuint8_t(108), Tuint8_t(109), Tuint8_t(110), Tuint8_t(111),
  8520  	Tuint8_t(112), Tuint8_t(113), Tuint8_t(114), Tuint8_t(115), Tuint8_t(116), Tuint8_t(117), Tuint8_t(118), Tuint8_t(119),
  8521  	Tuint8_t(120), Tuint8_t(121), Tuint8_t(122), Tuint8_t(123), Tuint8_t(124), Tuint8_t(125), Tuint8_t(126), Tuint8_t(127),
  8522  	Tuint8_t(128), Tuint8_t(129), Tuint8_t(130), Tuint8_t(131), Tuint8_t(132), Tuint8_t(133), Tuint8_t(134), Tuint8_t(135),
  8523  	Tuint8_t(136), Tuint8_t(137), Tuint8_t(138), Tuint8_t(139), Tuint8_t(140), Tuint8_t(141), Tuint8_t(142), Tuint8_t(143),
  8524  	Tuint8_t(144), Tuint8_t(145), Tuint8_t(146), Tuint8_t(147), Tuint8_t(148), Tuint8_t(149), Tuint8_t(150), Tuint8_t(151),
  8525  	Tuint8_t(152), Tuint8_t(153), Tuint8_t(154), Tuint8_t(155), Tuint8_t(156), Tuint8_t(157), Tuint8_t(158), Tuint8_t(159),
  8526  	Tuint8_t(160), Tuint8_t(161), Tuint8_t(162), Tuint8_t(163), Tuint8_t(164), Tuint8_t(165), Tuint8_t(166), Tuint8_t(167),
  8527  	Tuint8_t(168), Tuint8_t(169), Tuint8_t(170), Tuint8_t(171), Tuint8_t(172), Tuint8_t(173), Tuint8_t(174), Tuint8_t(175),
  8528  	Tuint8_t(176), Tuint8_t(177), Tuint8_t(178), Tuint8_t(179), Tuint8_t(180), Tuint8_t(181), Tuint8_t(182), Tuint8_t(183),
  8529  	Tuint8_t(184), Tuint8_t(185), Tuint8_t(186), Tuint8_t(187), Tuint8_t(188), Tuint8_t(189), Tuint8_t(190), Tuint8_t(191),
  8530  	Tuint8_t(192), Tuint8_t(193), Tuint8_t(194), Tuint8_t(195), Tuint8_t(196), Tuint8_t(197), Tuint8_t(198), Tuint8_t(199),
  8531  	Tuint8_t(200), Tuint8_t(201), Tuint8_t(202), Tuint8_t(203), Tuint8_t(204), Tuint8_t(205), Tuint8_t(206), Tuint8_t(207),
  8532  	Tuint8_t(208), Tuint8_t(209), Tuint8_t(210), Tuint8_t(211), Tuint8_t(212), Tuint8_t(213), Tuint8_t(214), Tuint8_t(215),
  8533  	Tuint8_t(216), Tuint8_t(217), Tuint8_t(218), Tuint8_t(219), Tuint8_t(220), Tuint8_t(221), Tuint8_t(222), Tuint8_t(223),
  8534  	Tuint8_t(224), Tuint8_t(225), Tuint8_t(226), Tuint8_t(227), Tuint8_t(228), Tuint8_t(229), Tuint8_t(230), Tuint8_t(231),
  8535  	Tuint8_t(232), Tuint8_t(233), Tuint8_t(234), Tuint8_t(235), Tuint8_t(236), Tuint8_t(237), Tuint8_t(238), Tuint8_t(239),
  8536  	Tuint8_t(240), Tuint8_t(241), Tuint8_t(242), Tuint8_t(243), Tuint8_t(244), Tuint8_t(245), Tuint8_t(246), Tuint8_t(247),
  8537  	Tuint8_t(248), Tuint8_t(249), Tuint8_t(250), Tuint8_t(251), Tuint8_t(252), Tuint8_t(253), Tuint8_t(254), Tuint8_t(255),
  8538  
  8539  	// This table is a case flipping table.
  8540  
  8541  	Tuint8_t(0), Tuint8_t(1), Tuint8_t(2), Tuint8_t(3), Tuint8_t(4), Tuint8_t(5), Tuint8_t(6), Tuint8_t(7),
  8542  	Tuint8_t(8), Tuint8_t(9), Tuint8_t(10), Tuint8_t(11), Tuint8_t(12), Tuint8_t(13), Tuint8_t(14), Tuint8_t(15),
  8543  	Tuint8_t(16), Tuint8_t(17), Tuint8_t(18), Tuint8_t(19), Tuint8_t(20), Tuint8_t(21), Tuint8_t(22), Tuint8_t(23),
  8544  	Tuint8_t(24), Tuint8_t(25), Tuint8_t(26), Tuint8_t(27), Tuint8_t(28), Tuint8_t(29), Tuint8_t(30), Tuint8_t(31),
  8545  	Tuint8_t(32), Tuint8_t(33), Tuint8_t(34), Tuint8_t(35), Tuint8_t(36), Tuint8_t(37), Tuint8_t(38), Tuint8_t(39),
  8546  	Tuint8_t(40), Tuint8_t(41), Tuint8_t(42), Tuint8_t(43), Tuint8_t(44), Tuint8_t(45), Tuint8_t(46), Tuint8_t(47),
  8547  	Tuint8_t(48), Tuint8_t(49), Tuint8_t(50), Tuint8_t(51), Tuint8_t(52), Tuint8_t(53), Tuint8_t(54), Tuint8_t(55),
  8548  	Tuint8_t(56), Tuint8_t(57), Tuint8_t(58), Tuint8_t(59), Tuint8_t(60), Tuint8_t(61), Tuint8_t(62), Tuint8_t(63),
  8549  	Tuint8_t(64), Tuint8_t(97), Tuint8_t(98), Tuint8_t(99), Tuint8_t(100), Tuint8_t(101), Tuint8_t(102), Tuint8_t(103),
  8550  	Tuint8_t(104), Tuint8_t(105), Tuint8_t(106), Tuint8_t(107), Tuint8_t(108), Tuint8_t(109), Tuint8_t(110), Tuint8_t(111),
  8551  	Tuint8_t(112), Tuint8_t(113), Tuint8_t(114), Tuint8_t(115), Tuint8_t(116), Tuint8_t(117), Tuint8_t(118), Tuint8_t(119),
  8552  	Tuint8_t(120), Tuint8_t(121), Tuint8_t(122), Tuint8_t(91), Tuint8_t(92), Tuint8_t(93), Tuint8_t(94), Tuint8_t(95),
  8553  	Tuint8_t(96), Tuint8_t(65), Tuint8_t(66), Tuint8_t(67), Tuint8_t(68), Tuint8_t(69), Tuint8_t(70), Tuint8_t(71),
  8554  	Tuint8_t(72), Tuint8_t(73), Tuint8_t(74), Tuint8_t(75), Tuint8_t(76), Tuint8_t(77), Tuint8_t(78), Tuint8_t(79),
  8555  	Tuint8_t(80), Tuint8_t(81), Tuint8_t(82), Tuint8_t(83), Tuint8_t(84), Tuint8_t(85), Tuint8_t(86), Tuint8_t(87),
  8556  	Tuint8_t(88), Tuint8_t(89), Tuint8_t(90), Tuint8_t(123), Tuint8_t(124), Tuint8_t(125), Tuint8_t(126), Tuint8_t(127),
  8557  	Tuint8_t(128), Tuint8_t(129), Tuint8_t(130), Tuint8_t(131), Tuint8_t(132), Tuint8_t(133), Tuint8_t(134), Tuint8_t(135),
  8558  	Tuint8_t(136), Tuint8_t(137), Tuint8_t(138), Tuint8_t(139), Tuint8_t(140), Tuint8_t(141), Tuint8_t(142), Tuint8_t(143),
  8559  	Tuint8_t(144), Tuint8_t(145), Tuint8_t(146), Tuint8_t(147), Tuint8_t(148), Tuint8_t(149), Tuint8_t(150), Tuint8_t(151),
  8560  	Tuint8_t(152), Tuint8_t(153), Tuint8_t(154), Tuint8_t(155), Tuint8_t(156), Tuint8_t(157), Tuint8_t(158), Tuint8_t(159),
  8561  	Tuint8_t(160), Tuint8_t(161), Tuint8_t(162), Tuint8_t(163), Tuint8_t(164), Tuint8_t(165), Tuint8_t(166), Tuint8_t(167),
  8562  	Tuint8_t(168), Tuint8_t(169), Tuint8_t(170), Tuint8_t(171), Tuint8_t(172), Tuint8_t(173), Tuint8_t(174), Tuint8_t(175),
  8563  	Tuint8_t(176), Tuint8_t(177), Tuint8_t(178), Tuint8_t(179), Tuint8_t(180), Tuint8_t(181), Tuint8_t(182), Tuint8_t(183),
  8564  	Tuint8_t(184), Tuint8_t(185), Tuint8_t(186), Tuint8_t(187), Tuint8_t(188), Tuint8_t(189), Tuint8_t(190), Tuint8_t(191),
  8565  	Tuint8_t(192), Tuint8_t(193), Tuint8_t(194), Tuint8_t(195), Tuint8_t(196), Tuint8_t(197), Tuint8_t(198), Tuint8_t(199),
  8566  	Tuint8_t(200), Tuint8_t(201), Tuint8_t(202), Tuint8_t(203), Tuint8_t(204), Tuint8_t(205), Tuint8_t(206), Tuint8_t(207),
  8567  	Tuint8_t(208), Tuint8_t(209), Tuint8_t(210), Tuint8_t(211), Tuint8_t(212), Tuint8_t(213), Tuint8_t(214), Tuint8_t(215),
  8568  	Tuint8_t(216), Tuint8_t(217), Tuint8_t(218), Tuint8_t(219), Tuint8_t(220), Tuint8_t(221), Tuint8_t(222), Tuint8_t(223),
  8569  	Tuint8_t(224), Tuint8_t(225), Tuint8_t(226), Tuint8_t(227), Tuint8_t(228), Tuint8_t(229), Tuint8_t(230), Tuint8_t(231),
  8570  	Tuint8_t(232), Tuint8_t(233), Tuint8_t(234), Tuint8_t(235), Tuint8_t(236), Tuint8_t(237), Tuint8_t(238), Tuint8_t(239),
  8571  	Tuint8_t(240), Tuint8_t(241), Tuint8_t(242), Tuint8_t(243), Tuint8_t(244), Tuint8_t(245), Tuint8_t(246), Tuint8_t(247),
  8572  	Tuint8_t(248), Tuint8_t(249), Tuint8_t(250), Tuint8_t(251), Tuint8_t(252), Tuint8_t(253), Tuint8_t(254), Tuint8_t(255),
  8573  
  8574  	// This table contains bit maps for various character classes. Each map is 32
  8575  	// bytes long and the bits run from the least significant end of each byte. The
  8576  	// classes that have their own maps are: space, xdigit, digit, upper, lower, word,
  8577  	// graph, print, punct, and cntrl. Other classes are built from combinations.
  8578  
  8579  	Tuint8_t(0x00), Tuint8_t(0x3e), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // space
  8580  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8581  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8582  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8583  
  8584  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xff), Tuint8_t(0x03), // xdigit
  8585  	Tuint8_t(0x7e), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x7e), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8586  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8587  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8588  
  8589  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xff), Tuint8_t(0x03), // digit
  8590  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8591  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8592  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8593  
  8594  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // upper
  8595  	Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x07), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8596  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8597  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8598  
  8599  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // lower
  8600  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x07),
  8601  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8602  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8603  
  8604  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xff), Tuint8_t(0x03), // word
  8605  	Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x87), Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x07),
  8606  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8607  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8608  
  8609  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // graph
  8610  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x7f),
  8611  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8612  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8613  
  8614  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // print
  8615  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x7f),
  8616  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8617  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8618  
  8619  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xfe), Tuint8_t(0xff), Tuint8_t(0x00), Tuint8_t(0xfc), // punct
  8620  	Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0xf8), Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x78),
  8621  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8622  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8623  
  8624  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // cntrl
  8625  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x80),
  8626  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8627  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00),
  8628  
  8629  	// This table identifies various classes of character by individual bits:
  8630  	//   0x01   white space character
  8631  	//   0x02   letter
  8632  	//   0x04   lower case letter
  8633  	//   0x08   decimal digit
  8634  	//   0x10   alphanumeric or '_'
  8635  
  8636  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //   0-  7
  8637  	Tuint8_t(0x00), Tuint8_t(0x01), Tuint8_t(0x01), Tuint8_t(0x01), Tuint8_t(0x01), Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), //   8- 15
  8638  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //  16- 23
  8639  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //  24- 31
  8640  	Tuint8_t(0x01), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //    - '
  8641  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //  ( - /
  8642  	Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x18), //  0 - 7
  8643  	Tuint8_t(0x18), Tuint8_t(0x18), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //  8 - ?
  8644  	Tuint8_t(0x00), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), //  @ - G
  8645  	Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), //  H - O
  8646  	Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), //  P - W
  8647  	Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x12), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x10), //  X - _
  8648  	Tuint8_t(0x00), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), //  ` - g
  8649  	Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), //  h - o
  8650  	Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), //  p - w
  8651  	Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x16), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), //  x -127
  8652  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 128-135
  8653  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 136-143
  8654  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 144-151
  8655  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 152-159
  8656  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 160-167
  8657  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 168-175
  8658  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 176-183
  8659  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 184-191
  8660  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 192-199
  8661  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 200-207
  8662  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 208-215
  8663  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 216-223
  8664  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 224-231
  8665  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 232-239
  8666  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), // 240-247
  8667  	Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00), Tuint8_t(0x00)} /* pcre2_chartables.c:34:15 */ // 248-255
  8668  
  8669  // End of pcre2_chartables.c
  8670  
  8671  // ************************************************
  8672  //
  8673  //      Code parameters and static tables         *
  8674  //
  8675  
  8676  // COMPILE_WORK_SIZE specifies the size of stack workspace, which is used in
  8677  // different ways in the different pattern scans. The parsing and group-
  8678  // identifying pre-scan uses it to handle nesting, and needs it to be 16-bit
  8679  // aligned for this. Having defined the size in code units, we set up
  8680  // C16_WORK_SIZE as the number of elements in the 16-bit vector.
  8681  //
  8682  // During the first compiling phase, when determining how much memory is required,
  8683  // the regex is partly compiled into this space, but the compiled parts are
  8684  // discarded as soon as they can be, so that hopefully there will never be an
  8685  // overrun. The code does, however, check for an overrun, which can occur for
  8686  // pathological patterns. The size of the workspace depends on LINK_SIZE because
  8687  // the length of compiled items varies with this.
  8688  //
  8689  // In the real compile phase, this workspace is not currently used.
  8690  
  8691  // A uint32_t vector is used for caching information about the size of
  8692  // capturing groups, to improve performance. A default is created on the stack of
  8693  // this size.
  8694  
  8695  // The overrun tests check for a slightly smaller size so that they detect the
  8696  // overrun before it actually does run off the end of the data block.
  8697  
  8698  // This value determines the size of the initial vector that is used for
  8699  // remembering named groups during the pre-compile. It is allocated on the stack,
  8700  // but if it is too small, it is expanded, in a similar way to the workspace. The
  8701  // value is the number of slots in the list.
  8702  
  8703  // The pre-compiling pass over the pattern creates a parsed pattern in a vector
  8704  // of uint32_t. For short patterns this lives on the stack, with this size. Heap
  8705  // memory is used for longer patterns.
  8706  
  8707  // Maximum length value to check against when making sure that the variable
  8708  // that holds the compiled pattern length does not overflow. We make it a bit less
  8709  // than INT_MAX to allow for adding in group terminating code units, so that we
  8710  // don't have to check them every time.
  8711  
  8712  // Code values for parsed patterns, which are stored in a vector of 32-bit
  8713  // unsigned ints. Values less than META_END are literal data values. The coding
  8714  // for identifying the item is in the top 16-bits, leaving 16 bits for the
  8715  // additional data that some of them need. The META_CODE, META_DATA, and META_DIFF
  8716  // macros are used to manipulate parsed pattern elements.
  8717  //
  8718  // NOTE: When these definitions are changed, the table of extra lengths for each
  8719  // code (meta_extra_lengths, just below) must be updated to remain in step.
  8720  
  8721  // These must be kept together to make it easy to check that an assertion
  8722  // is present where expected in a conditional group.
  8723  
  8724  // These cannot be conditions
  8725  
  8726  // These must be kept in this order, with consecutive values, and the _ARG
  8727  // versions of COMMIT, PRUNE, SKIP, and THEN immediately after their non-argument
  8728  // versions.
  8729  
  8730  // These must be kept in groups of adjacent 3 values, and all together.
  8731  
  8732  // This is a special "meta code" that is used only to distinguish (*asr: from
  8733  // (*sr: in the table of aphabetic assertions. It is never stored in the parsed
  8734  // pattern because (*asr: is turned into (*sr:(*atomic: at that stage. There is
  8735  // therefore no need for it to have a length entry, so use a high value.
  8736  
  8737  // Table of extra lengths for each of the meta codes. Must be kept in step with
  8738  // the definitions above. For some items these values are a basic length to which
  8739  // a variable amount has to be added.
  8740  
  8741  var meta_extra_lengths = [64]uint8{
  8742  	uint8(0), // META_END
  8743  	uint8(0), // META_ALT
  8744  	uint8(0), // META_ATOMIC
  8745  	uint8(0), // META_BACKREF - more if group is >= 10
  8746  	uint8(1 + DSIZEOFFSET),
  8747  	uint8(1), // META_BIGVALUE
  8748  	uint8(3), // META_CALLOUT_NUMBER
  8749  	uint8(3 + DSIZEOFFSET),
  8750  	uint8(0),           // META_CAPTURE
  8751  	uint8(0),           // META_CIRCUMFLEX
  8752  	uint8(0),           // META_CLASS
  8753  	uint8(0),           // META_CLASS_EMPTY
  8754  	uint8(0),           // META_CLASS_EMPTY_NOT
  8755  	uint8(0),           // META_CLASS_END
  8756  	uint8(0),           // META_CLASS_NOT
  8757  	uint8(0),           // META_COND_ASSERT
  8758  	uint8(DSIZEOFFSET), // META_COND_DEFINE
  8759  	uint8(1 + DSIZEOFFSET),
  8760  	uint8(1 + DSIZEOFFSET),
  8761  	uint8(1 + DSIZEOFFSET),
  8762  	uint8(1 + DSIZEOFFSET),
  8763  	uint8(3),           // META_COND_VERSION
  8764  	uint8(0),           // META_DOLLAR
  8765  	uint8(0),           // META_DOT
  8766  	uint8(0),           // META_ESCAPE - more for ESC_P, ESC_p, ESC_g, ESC_k
  8767  	uint8(0),           // META_KET
  8768  	uint8(0),           // META_NOCAPTURE
  8769  	uint8(1),           // META_OPTIONS
  8770  	uint8(1),           // META_POSIX
  8771  	uint8(1),           // META_POSIX_NEG
  8772  	uint8(0),           // META_RANGE_ESCAPED
  8773  	uint8(0),           // META_RANGE_LITERAL
  8774  	uint8(DSIZEOFFSET), // META_RECURSE
  8775  	uint8(1 + DSIZEOFFSET),
  8776  	uint8(0),           // META_SCRIPT_RUN
  8777  	uint8(0),           // META_LOOKAHEAD
  8778  	uint8(0),           // META_LOOKAHEADNOT
  8779  	uint8(DSIZEOFFSET), // META_LOOKBEHIND
  8780  	uint8(DSIZEOFFSET), // META_LOOKBEHINDNOT
  8781  	uint8(0),           // META_LOOKAHEAD_NA
  8782  	uint8(DSIZEOFFSET), // META_LOOKBEHIND_NA
  8783  	uint8(1),           // META_MARK - plus the string length
  8784  	uint8(0),           // META_ACCEPT
  8785  	uint8(0),           // META_FAIL
  8786  	uint8(0),           // META_COMMIT
  8787  	uint8(1),           // META_COMMIT_ARG - plus the string length
  8788  	uint8(0),           // META_PRUNE
  8789  	uint8(1),           // META_PRUNE_ARG - plus the string length
  8790  	uint8(0),           // META_SKIP
  8791  	uint8(1),           // META_SKIP_ARG - plus the string length
  8792  	uint8(0),           // META_THEN
  8793  	uint8(1),           // META_THEN_ARG - plus the string length
  8794  	uint8(0),           // META_ASTERISK
  8795  	uint8(0),           // META_ASTERISK_PLUS
  8796  	uint8(0),           // META_ASTERISK_QUERY
  8797  	uint8(0),           // META_PLUS
  8798  	uint8(0),           // META_PLUS_PLUS
  8799  	uint8(0),           // META_PLUS_QUERY
  8800  	uint8(0),           // META_QUERY
  8801  	uint8(0),           // META_QUERY_PLUS
  8802  	uint8(0),           // META_QUERY_QUERY
  8803  	uint8(2),           // META_MINMAX
  8804  	uint8(2),           // META_MINMAX_PLUS
  8805  	uint8(2),           // META_MINMAX_QUERY
  8806  } /* pcre2_compile.c:306:22 */
  8807  
  8808  // Macro for setting individual bits in class bitmaps. It took some
  8809  // experimenting to figure out how to stop gcc 5.3.0 from warning with
  8810  // -Wconversion. This version gets a warning:
  8811  //
  8812  //   #define SETBIT(a,b) a[(b)/8] |= (uint8_t)(1u << ((b)&7))
  8813  //
  8814  // Let's hope the apparently less efficient version isn't actually so bad if the
  8815  // compiler is clever with identical subexpressions.
  8816  
  8817  // Values and flags for the unsigned xxcuflags variables that accompany xxcu
  8818  // variables, which are concerned with first and required code units. A value
  8819  // greater than or equal to REQ_NONE means "no code unit set"; otherwise the
  8820  // matching xxcu variable is set, and the low valued bits are relevant.
  8821  
  8822  // These flags are used in the groupinfo vector.
  8823  
  8824  // This simple test for a decimal digit works for both ASCII/Unicode and EBCDIC
  8825  // and is fast (a good compiler can turn it into a subtraction and unsigned
  8826  // comparison).
  8827  
  8828  // Table to identify hex digits. The tables in chartables are dependent on the
  8829  // locale, and may mark arbitrary characters as digits. We want to recognize only
  8830  // 0-9, a-z, and A-Z as hex digits, which is why we have a private table here. It
  8831  // costs 256 bytes, but it is a lot faster than doing character value tests (at
  8832  // least in some simple cases I timed), and in some applications one wants PCRE2
  8833  // to compile efficiently as well as match efficiently. The value in the table is
  8834  // the binary hex digit value, or 0xff for non-hex digits.
  8835  
  8836  // This is the "normal" case, for ASCII systems, and EBCDIC systems running in
  8837  // UTF-8 mode.
  8838  
  8839  var xdigitab = [256]Tuint8_t{
  8840  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //   0-  7
  8841  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //   8- 15
  8842  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  16- 23
  8843  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  24- 31
  8844  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //    - '
  8845  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  ( - /
  8846  	Tuint8_t(0x00), Tuint8_t(0x01), Tuint8_t(0x02), Tuint8_t(0x03), Tuint8_t(0x04), Tuint8_t(0x05), Tuint8_t(0x06), Tuint8_t(0x07), //  0 - 7
  8847  	Tuint8_t(0x08), Tuint8_t(0x09), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  8 - ?
  8848  	Tuint8_t(0xff), Tuint8_t(0x0a), Tuint8_t(0x0b), Tuint8_t(0x0c), Tuint8_t(0x0d), Tuint8_t(0x0e), Tuint8_t(0x0f), Tuint8_t(0xff), //  @ - G
  8849  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  H - O
  8850  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  P - W
  8851  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  X - _
  8852  	Tuint8_t(0xff), Tuint8_t(0x0a), Tuint8_t(0x0b), Tuint8_t(0x0c), Tuint8_t(0x0d), Tuint8_t(0x0e), Tuint8_t(0x0f), Tuint8_t(0xff), //  ` - g
  8853  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  h - o
  8854  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  p - w
  8855  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), //  x -127
  8856  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 128-135
  8857  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 136-143
  8858  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 144-151
  8859  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 152-159
  8860  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 160-167
  8861  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 168-175
  8862  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 176-183
  8863  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 184-191
  8864  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 192-199
  8865  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 2ff-207
  8866  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 208-215
  8867  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 216-223
  8868  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 224-231
  8869  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 232-239
  8870  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), // 240-247
  8871  	Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff), Tuint8_t(0xff)} /* pcre2_compile.c:422:22 */ // 248-255
  8872  
  8873  // Table for handling alphanumeric escaped characters. Positive returns are
  8874  // simple data values; negative values are for special things like \d and so on.
  8875  // Zero means further processing is needed (for things like \x), or the escape is
  8876  // invalid.
  8877  
  8878  // This is the "normal" table for ASCII systems or for EBCDIC systems running
  8879  // in UTF-8 mode. It runs from '0' to 'z'.
  8880  
  8881  var escapes = [75]int16{
  8882  	int16(0), int16(0),
  8883  	int16(0), int16(0),
  8884  	int16(0), int16(0),
  8885  	int16(0), int16(0),
  8886  	int16(0), int16(0),
  8887  	int16('\072'), int16('\073'),
  8888  	int16('\074'), int16('\075'),
  8889  	int16('\076'), int16('\077'),
  8890  	int16('\100'), int16(-ESC_A),
  8891  	int16(-ESC_B), int16(-ESC_C),
  8892  	int16(-ESC_D), int16(-ESC_E),
  8893  	int16(0), int16(-ESC_G),
  8894  	int16(-ESC_H), int16(0),
  8895  	int16(0), int16(-ESC_K),
  8896  	int16(0), int16(0),
  8897  	int16(-ESC_N), int16(0),
  8898  	int16(-ESC_P), int16(-ESC_Q),
  8899  	int16(-ESC_R), int16(-ESC_S),
  8900  	int16(0), int16(0),
  8901  	int16(-ESC_V), int16(-ESC_W),
  8902  	int16(-ESC_X), int16(0),
  8903  	int16(-ESC_Z), int16('\133'),
  8904  	int16('\134'), int16('\135'),
  8905  	int16('\136'), int16('\137'),
  8906  	int16('\140'), int16('\007'),
  8907  	int16(-ESC_b), int16(0),
  8908  	int16(-ESC_d), int16('\033'),
  8909  	int16('\014'), int16(0),
  8910  	int16(-ESC_h), int16(0),
  8911  	int16(0), int16(-ESC_k),
  8912  	int16(0), int16(0),
  8913  	int16('\012'), int16(0),
  8914  	int16(-ESC_p), int16(0),
  8915  	int16('\015'), int16(-ESC_s),
  8916  	int16('\011'), int16(0),
  8917  	int16(-ESC_v), int16(-ESC_w),
  8918  	int16(0), int16(0),
  8919  	int16(-ESC_z),
  8920  } /* pcre2_compile.c:511:24 */
  8921  
  8922  // Table of special "verbs" like (*PRUNE). This is a short table, so it is
  8923  // searched linearly. Put all the names into a single string, in order to reduce
  8924  // the number of relocations when a shared library is dynamically linked. The
  8925  // string is built from string macros so that it works in UTF-8 mode on EBCDIC
  8926  // platforms.
  8927  
  8928  type Sverbitem = struct {
  8929  	Flen     uint32
  8930  	Fmeta    Tuint32_t
  8931  	Fhas_arg int32
  8932  } /* pcre2_compile.c:602:9 */
  8933  
  8934  // Table of special "verbs" like (*PRUNE). This is a short table, so it is
  8935  // searched linearly. Put all the names into a single string, in order to reduce
  8936  // the number of relocations when a shared library is dynamically linked. The
  8937  // string is built from string macros so that it works in UTF-8 mode on EBCDIC
  8938  // platforms.
  8939  
  8940  type Tverbitem = Sverbitem /* pcre2_compile.c:606:3 */
  8941  
  8942  var verbnames =
  8943  // Empty name is a shorthand for MARK
  8944  
  8945  *(*[43]uint8)(unsafe.Pointer(ts)) /* pcre2_compile.c:608:19 */
  8946  
  8947  var verbs = [9]Tverbitem{
  8948  	{Fmeta: DMETA_MARK, Fhas_arg: +1}, // > 0 => must have an argument
  8949  	{Flen: uint32(4), Fmeta: DMETA_MARK, Fhas_arg: +1},
  8950  	{Flen: uint32(6), Fmeta: DMETA_ACCEPT, Fhas_arg: -1}, // < 0 => Optional argument, convert to pre-MARK
  8951  	{Flen: uint32(1), Fmeta: DMETA_FAIL, Fhas_arg: -1},
  8952  	{Flen: uint32(4), Fmeta: DMETA_FAIL, Fhas_arg: -1},
  8953  	{Flen: uint32(6), Fmeta: DMETA_COMMIT},
  8954  	{Flen: uint32(5), Fmeta: DMETA_PRUNE}, // Optional argument; bump META code if found
  8955  	{Flen: uint32(4), Fmeta: DMETA_SKIP},
  8956  	{Flen: uint32(4), Fmeta: DMETA_THEN},
  8957  } /* pcre2_compile.c:619:23 */
  8958  
  8959  var verbcount int32 = int32(uint64(unsafe.Sizeof(verbs)) / uint64(unsafe.Sizeof(Tverbitem{}))) /* pcre2_compile.c:631:18 */
  8960  
  8961  // Verb opcodes, indexed by their META code offset from META_MARK.
  8962  
  8963  var verbops = [11]Tuint32_t{
  8964  	OP_MARK, OP_ACCEPT, OP_FAIL, OP_COMMIT, OP_COMMIT_ARG, OP_PRUNE,
  8965  	OP_PRUNE_ARG, OP_SKIP, OP_SKIP_ARG, OP_THEN, OP_THEN_ARG} /* pcre2_compile.c:635:23 */
  8966  
  8967  // Table of "alpha assertions" like (*pla:...), similar to the (*VERB) table.
  8968  
  8969  type Salasitem = struct {
  8970  	Flen  uint32
  8971  	Fmeta Tuint32_t
  8972  } /* pcre2_compile.c:641:9 */
  8973  
  8974  // Table of "alpha assertions" like (*pla:...), similar to the (*VERB) table.
  8975  
  8976  type Talasitem = Salasitem /* pcre2_compile.c:644:3 */
  8977  
  8978  var alasnames = *(*[210]uint8)(unsafe.Pointer(ts + 43)) /* pcre2_compile.c:646:19 */
  8979  
  8980  var alasmeta = [17]Talasitem{
  8981  	{Flen: uint32(3), Fmeta: DMETA_LOOKAHEAD},
  8982  	{Flen: uint32(3), Fmeta: DMETA_LOOKBEHIND},
  8983  	{Flen: uint32(5), Fmeta: DMETA_LOOKAHEAD_NA},
  8984  	{Flen: uint32(5), Fmeta: DMETA_LOOKBEHIND_NA},
  8985  	{Flen: uint32(3), Fmeta: DMETA_LOOKAHEADNOT},
  8986  	{Flen: uint32(3), Fmeta: DMETA_LOOKBEHINDNOT},
  8987  	{Flen: uint32(18), Fmeta: DMETA_LOOKAHEAD},
  8988  	{Flen: uint32(19), Fmeta: DMETA_LOOKBEHIND},
  8989  	{Flen: uint32(29), Fmeta: DMETA_LOOKAHEAD_NA},
  8990  	{Flen: uint32(30), Fmeta: DMETA_LOOKBEHIND_NA},
  8991  	{Flen: uint32(18), Fmeta: DMETA_LOOKAHEADNOT},
  8992  	{Flen: uint32(19), Fmeta: DMETA_LOOKBEHINDNOT},
  8993  	{Flen: uint32(6), Fmeta: DMETA_ATOMIC},
  8994  	{Flen: uint32(2), Fmeta: DMETA_SCRIPT_RUN},         // sr = script run
  8995  	{Flen: uint32(3), Fmeta: DMETA_ATOMIC_SCRIPT_RUN},  // asr = atomic script run
  8996  	{Flen: uint32(10), Fmeta: DMETA_SCRIPT_RUN},        // script run
  8997  	{Flen: uint32(17), Fmeta: DMETA_ATOMIC_SCRIPT_RUN}, // atomic script run
  8998  } /* pcre2_compile.c:665:23 */
  8999  
  9000  var alascount int32 = int32(uint64(unsafe.Sizeof(alasmeta)) / uint64(unsafe.Sizeof(Talasitem{}))) /* pcre2_compile.c:685:18 */
  9001  
  9002  // Offsets from OP_STAR for case-independent and negative repeat opcodes.
  9003  
  9004  var chartypeoffset = [4]Tuint32_t{
  9005  	Tuint32_t(OP_STAR - OP_STAR), Tuint32_t(OP_STARI - OP_STAR),
  9006  	Tuint32_t(OP_NOTSTAR - OP_STAR), Tuint32_t(OP_NOTSTARI - OP_STAR)} /* pcre2_compile.c:689:17 */
  9007  
  9008  // Tables of names of POSIX character classes and their lengths. The names are
  9009  // now all in a single string, to reduce the number of relocations when a shared
  9010  // library is dynamically loaded. The list of lengths is terminated by a zero
  9011  // length entry. The first three must be alpha, lower, upper, as this is assumed
  9012  // for handling case independence. The indices for graph, print, and punct are
  9013  // needed, so identify them.
  9014  
  9015  var posix_names = *(*[84]uint8)(unsafe.Pointer(ts + 253)) /* pcre2_compile.c:700:19 */
  9016  
  9017  var posix_name_lengths = [15]Tuint8_t{
  9018  	Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(4), Tuint8_t(6), Tuint8_t(0)} /* pcre2_compile.c:706:22 */
  9019  
  9020  // Table of class bit maps for each POSIX class. Each class is formed from a
  9021  // base map, with an optional addition or removal of another map. Then, for some
  9022  // classes, there is some additional tweaking: for [:blank:] the vertical space
  9023  // characters are removed, and for [:alpha:] and [:alnum:] the underscore
  9024  // character is removed. The triples in the table consist of the base map offset,
  9025  // second map offset or -1 if no second map, and a non-negative value for map
  9026  // addition or a negative value for map subtraction (if there are two maps). The
  9027  // absolute value of the third field has these meanings: 0 => no tweaking, 1 =>
  9028  // remove vertical space characters, 2 => remove underscore.
  9029  
  9030  var posix_class_maps = [42]int32{
  9031  	Dcbit_word, Dcbit_digit, -2, // alpha
  9032  	Dcbit_lower, -1, 0, // lower
  9033  	Dcbit_upper, -1, 0, // upper
  9034  	Dcbit_word, -1, 2, // alnum - word without underscore
  9035  	Dcbit_print, Dcbit_cntrl, 0, // ascii
  9036  	Dcbit_space, -1, 1, // blank - a GNU extension
  9037  	Dcbit_cntrl, -1, 0, // cntrl
  9038  	Dcbit_digit, -1, 0, // digit
  9039  	Dcbit_graph, -1, 0, // graph
  9040  	Dcbit_print, -1, 0, // print
  9041  	Dcbit_punct, -1, 0, // punct
  9042  	Dcbit_space, -1, 0, // space
  9043  	Dcbit_word, -1, 0, // word - a Perl extension
  9044  	Dcbit_xdigit, -1, 0, // xdigit
  9045  } /* pcre2_compile.c:723:18 */
  9046  
  9047  // The POSIX class Unicode property substitutes that are used in UCP mode must
  9048  // be in the order of the POSIX class names, defined above.
  9049  
  9050  var posix_substitutes = [28]int32{
  9051  	DPT_GC, ucp_L, // alpha
  9052  	DPT_PC, ucp_Ll, // lower
  9053  	DPT_PC, ucp_Lu, // upper
  9054  	DPT_ALNUM, 0, // alnum
  9055  	-1, 0, // ascii, treat as non-UCP
  9056  	-1, 1, // blank, treat as \h
  9057  	DPT_PC, ucp_Cc, // cntrl
  9058  	DPT_PC, ucp_Nd, // digit
  9059  	DPT_PXGRAPH, 0, // graph
  9060  	DPT_PXPRINT, 0, // print
  9061  	DPT_PXPUNCT, 0, // punct
  9062  	DPT_PXSPACE, 0, /* space */ // Xps is POSIX space, but from 8.34
  9063  	DPT_WORD, 0, /* word  */ // Perl and POSIX space are the same
  9064  	-1, 0, // xdigit, treat as non-UCP
  9065  } /* pcre2_compile.c:745:12 */ // Read integer value for depth limit
  9066  
  9067  type Spso = struct {
  9068  	Fname   uintptr
  9069  	Flength Tuint16_t
  9070  	Ftype   Tuint16_t
  9071  	Fvalue  Tuint32_t
  9072  } /* pcre2_compile.c:822:9 */
  9073  
  9074  // Read integer value for depth limit
  9075  
  9076  type Tpso = Spso /* pcre2_compile.c:827:3 */
  9077  
  9078  // NB: STRING_UTFn_RIGHTPAR contains the length as well
  9079  
  9080  var pso_list = [21]Tpso{
  9081  	{Fname: uintptr(ts + 337), Flength: Tuint16_t(5), Fvalue: DPCRE2_UTF},
  9082  	{Fname: uintptr(ts + 343), Flength: Tuint16_t(4), Fvalue: DPCRE2_UTF},
  9083  	{Fname: uintptr(ts + 348), Flength: Tuint16_t(4), Fvalue: DPCRE2_UCP},
  9084  	{Fname: uintptr(ts + 353), Flength: Tuint16_t(9), Ftype: PSO_FLG, Fvalue: Tuint32_t(DPCRE2_NOTEMPTY_SET)},
  9085  	{Fname: uintptr(ts + 363), Flength: Tuint16_t(17), Ftype: PSO_FLG, Fvalue: Tuint32_t(DPCRE2_NE_ATST_SET)},
  9086  	{Fname: uintptr(ts + 381), Flength: Tuint16_t(16), Fvalue: DPCRE2_NO_AUTO_POSSESS},
  9087  	{Fname: uintptr(ts + 398), Flength: Tuint16_t(18), Fvalue: DPCRE2_NO_DOTSTAR_ANCHOR},
  9088  	{Fname: uintptr(ts + 417), Flength: Tuint16_t(7), Ftype: PSO_FLG, Fvalue: Tuint32_t(DPCRE2_NOJIT)},
  9089  	{Fname: uintptr(ts + 425), Flength: Tuint16_t(13), Fvalue: DPCRE2_NO_START_OPTIMIZE},
  9090  	{Fname: uintptr(ts + 439), Flength: Tuint16_t(11), Ftype: PSO_LIMH},
  9091  	{Fname: uintptr(ts + 451), Flength: Tuint16_t(12), Ftype: PSO_LIMM},
  9092  	{Fname: uintptr(ts + 464), Flength: Tuint16_t(12), Ftype: PSO_LIMD},
  9093  	{Fname: uintptr(ts + 477), Flength: Tuint16_t(16), Ftype: PSO_LIMD},
  9094  	{Fname: uintptr(ts + 494), Flength: Tuint16_t(3), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_CR)},
  9095  	{Fname: uintptr(ts + 498), Flength: Tuint16_t(3), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_LF)},
  9096  	{Fname: uintptr(ts + 502), Flength: Tuint16_t(5), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_CRLF)},
  9097  	{Fname: uintptr(ts + 508), Flength: Tuint16_t(4), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_ANY)},
  9098  	{Fname: uintptr(ts + 513), Flength: Tuint16_t(4), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_NUL)},
  9099  	{Fname: uintptr(ts + 518), Flength: Tuint16_t(8), Ftype: PSO_NL, Fvalue: Tuint32_t(DPCRE2_NEWLINE_ANYCRLF)},
  9100  	{Fname: uintptr(ts + 527), Flength: Tuint16_t(12), Ftype: PSO_BSR, Fvalue: Tuint32_t(DPCRE2_BSR_ANYCRLF)},
  9101  	{Fname: uintptr(ts + 540), Flength: Tuint16_t(12), Ftype: PSO_BSR, Fvalue: Tuint32_t(DPCRE2_BSR_UNICODE)},
  9102  } /* pcre2_compile.c:831:12 */
  9103  
  9104  // This table is used when converting repeating opcodes into possessified
  9105  // versions as a result of an explicit possessive quantifier such as ++. A zero
  9106  // value means there is no possessified version - in those cases the item in
  9107  // question must be wrapped in ONCE brackets. The table is truncated at OP_CALLOUT
  9108  // because all relevant opcodes are less than that.
  9109  
  9110  var opcode_possessify = [119]Tuint8_t{
  9111  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // 0 - 15
  9112  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // 16 - 31
  9113  
  9114  	Tuint8_t(0),             // NOTI
  9115  	OP_POSSTAR, Tuint8_t(0), // STAR, MINSTAR
  9116  	OP_POSPLUS, Tuint8_t(0), // PLUS, MINPLUS
  9117  	OP_POSQUERY, Tuint8_t(0), // QUERY, MINQUERY
  9118  	OP_POSUPTO, Tuint8_t(0), // UPTO, MINUPTO
  9119  	Tuint8_t(0),                                        // EXACT
  9120  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // POS{STAR,PLUS,QUERY,UPTO}
  9121  
  9122  	OP_POSSTARI, Tuint8_t(0), // STARI, MINSTARI
  9123  	OP_POSPLUSI, Tuint8_t(0), // PLUSI, MINPLUSI
  9124  	OP_POSQUERYI, Tuint8_t(0), // QUERYI, MINQUERYI
  9125  	OP_POSUPTOI, Tuint8_t(0), // UPTOI, MINUPTOI
  9126  	Tuint8_t(0),                                        // EXACTI
  9127  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // POS{STARI,PLUSI,QUERYI,UPTOI}
  9128  
  9129  	OP_NOTPOSSTAR, Tuint8_t(0), // NOTSTAR, NOTMINSTAR
  9130  	OP_NOTPOSPLUS, Tuint8_t(0), // NOTPLUS, NOTMINPLUS
  9131  	OP_NOTPOSQUERY, Tuint8_t(0), // NOTQUERY, NOTMINQUERY
  9132  	OP_NOTPOSUPTO, Tuint8_t(0), // NOTUPTO, NOTMINUPTO
  9133  	Tuint8_t(0),                                        // NOTEXACT
  9134  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // NOTPOS{STAR,PLUS,QUERY,UPTO}
  9135  
  9136  	OP_NOTPOSSTARI, Tuint8_t(0), // NOTSTARI, NOTMINSTARI
  9137  	OP_NOTPOSPLUSI, Tuint8_t(0), // NOTPLUSI, NOTMINPLUSI
  9138  	OP_NOTPOSQUERYI, Tuint8_t(0), // NOTQUERYI, NOTMINQUERYI
  9139  	OP_NOTPOSUPTOI, Tuint8_t(0), // NOTUPTOI, NOTMINUPTOI
  9140  	Tuint8_t(0),                                        // NOTEXACTI
  9141  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // NOTPOS{STARI,PLUSI,QUERYI,UPTOI}
  9142  
  9143  	OP_TYPEPOSSTAR, Tuint8_t(0), // TYPESTAR, TYPEMINSTAR
  9144  	OP_TYPEPOSPLUS, Tuint8_t(0), // TYPEPLUS, TYPEMINPLUS
  9145  	OP_TYPEPOSQUERY, Tuint8_t(0), // TYPEQUERY, TYPEMINQUERY
  9146  	OP_TYPEPOSUPTO, Tuint8_t(0), // TYPEUPTO, TYPEMINUPTO
  9147  	Tuint8_t(0),                                        // TYPEEXACT
  9148  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // TYPEPOS{STAR,PLUS,QUERY,UPTO}
  9149  
  9150  	OP_CRPOSSTAR, Tuint8_t(0), // CRSTAR, CRMINSTAR
  9151  	OP_CRPOSPLUS, Tuint8_t(0), // CRPLUS, CRMINPLUS
  9152  	OP_CRPOSQUERY, Tuint8_t(0), // CRQUERY, CRMINQUERY
  9153  	OP_CRPOSRANGE, Tuint8_t(0), // CRRANGE, CRMINRANGE
  9154  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CRPOS{STAR,PLUS,QUERY,RANGE}
  9155  
  9156  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CLASS, NCLASS, XCLASS
  9157  	Tuint8_t(0), Tuint8_t(0), // REF, REFI
  9158  	Tuint8_t(0), Tuint8_t(0), // DNREF, DNREFI
  9159  	Tuint8_t(0), Tuint8_t(0), // RECURSE, CALLOUT
  9160  } /* pcre2_compile.c:861:22 */
  9161  
  9162  // ************************************************
  9163  //
  9164  //               Copy compiled code               *
  9165  //
  9166  
  9167  // Compiled JIT code cannot be copied, so the new compiled block has no
  9168  // associated JIT data.
  9169  
  9170  func Xpcre2_code_copy_8(tls *libc.TLS, code uintptr) uintptr { /* pcre2_compile.c:1193:27: */
  9171  	var ref_count uintptr
  9172  	var newcode uintptr
  9173  
  9174  	if code == uintptr(0) {
  9175  		return uintptr(0)
  9176  	}
  9177  	newcode = (*struct {
  9178  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
  9179  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmalloc})).f(tls, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fblocksize, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9180  	if newcode == uintptr(0) {
  9181  		return uintptr(0)
  9182  	}
  9183  	libc.Xmemcpy(tls, newcode, code, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fblocksize)
  9184  	(*Tpcre2_code_8)(unsafe.Pointer(newcode)).Fexecutable_jit = uintptr(0)
  9185  
  9186  	// If the code is one that has been deserialized, increment the reference count
  9187  	// in the decoded tables.
  9188  
  9189  	if (*Tpcre2_code_8)(unsafe.Pointer(code)).Fflags&Tuint32_t(DPCRE2_DEREF_TABLES) != Tuint32_t(0) {
  9190  		ref_count = (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset+Dcbit_length+256)
  9191  		*(*Tsize_t)(unsafe.Pointer(ref_count))++
  9192  	}
  9193  
  9194  	return newcode
  9195  }
  9196  
  9197  // ************************************************
  9198  //
  9199  //     Copy compiled code and character tables    *
  9200  //
  9201  
  9202  // Compiled JIT code cannot be copied, so the new compiled block has no
  9203  // associated JIT data. This version of code_copy also makes a separate copy of
  9204  // the character tables.
  9205  
  9206  func Xpcre2_code_copy_with_tables_8(tls *libc.TLS, code uintptr) uintptr { /* pcre2_compile.c:1227:27: */
  9207  	var ref_count uintptr
  9208  	var newcode uintptr
  9209  	var newtables uintptr
  9210  
  9211  	if code == uintptr(0) {
  9212  		return uintptr(0)
  9213  	}
  9214  	newcode = (*struct {
  9215  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
  9216  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmalloc})).f(tls, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fblocksize, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9217  	if newcode == uintptr(0) {
  9218  		return uintptr(0)
  9219  	}
  9220  	libc.Xmemcpy(tls, newcode, code, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fblocksize)
  9221  	(*Tpcre2_code_8)(unsafe.Pointer(newcode)).Fexecutable_jit = uintptr(0)
  9222  
  9223  	newtables = (*struct {
  9224  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
  9225  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmalloc})).f(tls, uint64(Dcbits_offset+Dcbit_length+256)+uint64(unsafe.Sizeof(Tsize_t(0))),
  9226  		(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9227  	if newtables == uintptr(0) {
  9228  		(*struct {
  9229  			f func(*libc.TLS, uintptr, uintptr)
  9230  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Ffree})).f(tls, newcode, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9231  		return uintptr(0)
  9232  	}
  9233  	libc.Xmemcpy(tls, newtables, (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables, uint64(Dcbits_offset+Dcbit_length+256))
  9234  	ref_count = newtables + uintptr(Dcbits_offset+Dcbit_length+256)
  9235  	*(*Tsize_t)(unsafe.Pointer(ref_count)) = uint64(1)
  9236  
  9237  	(*Tpcre2_code_8)(unsafe.Pointer(newcode)).Ftables = newtables
  9238  	*(*Tuint32_t)(unsafe.Pointer(newcode + 96)) |= Tuint32_t(DPCRE2_DEREF_TABLES)
  9239  	return newcode
  9240  }
  9241  
  9242  // ************************************************
  9243  //
  9244  //               Free compiled code               *
  9245  //
  9246  
  9247  func Xpcre2_code_free_8(tls *libc.TLS, code uintptr) { /* pcre2_compile.c:1263:1: */
  9248  	var ref_count uintptr
  9249  
  9250  	if code != uintptr(0) {
  9251  		if (*Tpcre2_code_8)(unsafe.Pointer(code)).Fexecutable_jit != uintptr(0) {
  9252  			X_pcre2_jit_free_8(tls, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fexecutable_jit, code)
  9253  		}
  9254  
  9255  		if (*Tpcre2_code_8)(unsafe.Pointer(code)).Fflags&Tuint32_t(DPCRE2_DEREF_TABLES) != Tuint32_t(0) {
  9256  			// Decoded tables belong to the codes after deserialization, and they must
  9257  			//     be freed when there are no more references to them. The *ref_count should
  9258  			//     always be > 0.
  9259  
  9260  			ref_count = (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset+Dcbit_length+256)
  9261  			if *(*Tsize_t)(unsafe.Pointer(ref_count)) > uint64(0) {
  9262  				*(*Tsize_t)(unsafe.Pointer(ref_count))--
  9263  				if *(*Tsize_t)(unsafe.Pointer(ref_count)) == uint64(0) {
  9264  					(*struct {
  9265  						f func(*libc.TLS, uintptr, uintptr)
  9266  					})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Ffree})).f(tls, (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9267  				}
  9268  			}
  9269  		}
  9270  
  9271  		(*struct {
  9272  			f func(*libc.TLS, uintptr, uintptr)
  9273  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Ffree})).f(tls, code, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fmemctl.Fmemory_data)
  9274  	}
  9275  }
  9276  
  9277  // ************************************************
  9278  //
  9279  //         Read a number, possibly signed         *
  9280  //
  9281  
  9282  // This function is used to read numbers in the pattern. The initial pointer
  9283  // must be the sign or first digit of the number. When relative values (introduced
  9284  // by + or -) are allowed, they are relative group numbers, and the result must be
  9285  // greater than zero.
  9286  //
  9287  // Arguments:
  9288  //   ptrptr      points to the character pointer variable
  9289  //   ptrend      points to the end of the input string
  9290  //   allow_sign  if < 0, sign not allowed; if >= 0, sign is relative to this
  9291  //   max_value   the largest number allowed
  9292  //   max_error   the error to give for an over-large number
  9293  //   intptr      where to put the result
  9294  //   errcodeptr  where to put an error code
  9295  //
  9296  // Returns:      TRUE  - a number was read
  9297  //               FALSE - errorcode == 0 => no number was found
  9298  //                       errorcode != 0 => an error occurred
  9299  
  9300  func read_number(tls *libc.TLS, ptrptr uintptr, ptrend TPCRE2_SPTR8, allow_sign Tint32_t, max_value Tuint32_t, max_error Tuint32_t, intptr uintptr, errorcodeptr uintptr) TBOOL { /* pcre2_compile.c:1317:1: */
  9301  	var sign int32
  9302  	var n Tuint32_t
  9303  	var ptr TPCRE2_SPTR8
  9304  	var yield TBOOL
  9305  	sign = 0
  9306  	n = Tuint32_t(0)
  9307  	ptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
  9308  	yield = DFALSE
  9309  
  9310  	*(*int32)(unsafe.Pointer(errorcodeptr)) = 0
  9311  
  9312  	if !(allow_sign >= 0 && ptr < ptrend) {
  9313  		goto __1
  9314  	}
  9315  
  9316  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\053') {
  9317  		goto __2
  9318  	}
  9319  
  9320  	sign = +1
  9321  	max_value = max_value - Tuint32_t(allow_sign)
  9322  	ptr++
  9323  	goto __3
  9324  __2:
  9325  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\055') {
  9326  		goto __4
  9327  	}
  9328  
  9329  	sign = -1
  9330  	ptr++
  9331  __4:
  9332  	;
  9333  __3:
  9334  	;
  9335  __1:
  9336  	;
  9337  
  9338  	if !(ptr >= ptrend || !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) <= '\071')) {
  9339  		goto __5
  9340  	}
  9341  	return DFALSE
  9342  __5:
  9343  	;
  9344  __6:
  9345  	if !(ptr < ptrend && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) <= '\071')) {
  9346  		goto __7
  9347  	}
  9348  
  9349  	n = n*Tuint32_t(10) + Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))) - Tuint32_t('\060')
  9350  	if !(n > max_value) {
  9351  		goto __8
  9352  	}
  9353  
  9354  	*(*int32)(unsafe.Pointer(errorcodeptr)) = int32(max_error)
  9355  	goto EXIT
  9356  __8:
  9357  	;
  9358  	goto __6
  9359  __7:
  9360  	;
  9361  
  9362  	if !(allow_sign >= 0 && sign != 0) {
  9363  		goto __9
  9364  	}
  9365  
  9366  	if !(n == Tuint32_t(0)) {
  9367  		goto __10
  9368  	}
  9369  
  9370  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR26 // +0 and -0 are not allowed
  9371  	goto EXIT
  9372  __10:
  9373  	;
  9374  
  9375  	if !(sign > 0) {
  9376  		goto __11
  9377  	}
  9378  	n = n + Tuint32_t(allow_sign)
  9379  	goto __12
  9380  __11:
  9381  	if !(int32(n) > allow_sign) {
  9382  		goto __13
  9383  	}
  9384  
  9385  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 // Non-existent subpattern
  9386  	goto EXIT
  9387  	goto __14
  9388  __13:
  9389  	n = Tuint32_t(allow_sign+1) - n
  9390  __14:
  9391  	;
  9392  __12:
  9393  	;
  9394  __9:
  9395  	;
  9396  
  9397  	yield = DTRUE
  9398  
  9399  EXIT:
  9400  	*(*int32)(unsafe.Pointer(intptr)) = int32(n)
  9401  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
  9402  	return yield
  9403  }
  9404  
  9405  // ************************************************
  9406  //
  9407  //         Read repeat counts                     *
  9408  //
  9409  
  9410  // Read an item of the form {n,m} and return the values if non-NULL pointers
  9411  // are supplied. Repeat counts must be less than 65536 (MAX_REPEAT_COUNT); a
  9412  // larger value is used for "unlimited". We have to use signed arguments for
  9413  // read_number() because it is capable of returning a signed value.
  9414  //
  9415  // Arguments:
  9416  //   ptrptr         points to pointer to character after'{'
  9417  //   ptrend         pointer to end of input
  9418  //   minp           if not NULL, pointer to int for min
  9419  //   maxp           if not NULL, pointer to int for max (-1 if no max)
  9420  //                  returned as -1 if no max
  9421  //   errorcodeptr   points to error code variable
  9422  //
  9423  // Returns:         FALSE if not a repeat quantifier, errorcode set zero
  9424  //                  FALSE on error, with errorcode set non-zero
  9425  //                  TRUE on success, with pointer updated to point after '}'
  9426  
  9427  func read_repeat_counts(tls *libc.TLS, ptrptr uintptr, ptrend TPCRE2_SPTR8, minp uintptr, maxp uintptr, errorcodeptr uintptr) TBOOL { /* pcre2_compile.c:1403:1: */
  9428  	bp := tls.Alloc(16)
  9429  	defer tls.Free(16)
  9430  
  9431  	// var p TPCRE2_SPTR8 at bp, 8
  9432  
  9433  	var yield TBOOL
  9434  	var had_comma TBOOL
  9435  	// var min Tint32_t at bp+8, 4
  9436  
  9437  	// var max Tint32_t at bp+12, 4
  9438  
  9439  	var c Tuint32_t
  9440  	yield = DFALSE
  9441  	had_comma = DFALSE
  9442  	*(*Tint32_t)(unsafe.Pointer(bp + 8 /* min */)) = 0
  9443  	*(*Tint32_t)(unsafe.Pointer(bp + 12 /* max */)) = int32(DMAX_REPEAT_COUNT + uint32(1)) // This value is larger than MAX_REPEAT_COUNT
  9444  
  9445  	// Check the syntax
  9446  
  9447  	*(*int32)(unsafe.Pointer(errorcodeptr)) = 0
  9448  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
  9449  __1:
  9450  	;
  9451  
  9452  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) >= ptrend) {
  9453  		goto __4
  9454  	}
  9455  	return DFALSE
  9456  __4:
  9457  	;
  9458  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)))))
  9459  	if !(c >= Tuint32_t('\060') && c <= Tuint32_t('\071')) {
  9460  		goto __5
  9461  	}
  9462  	goto __2
  9463  __5:
  9464  	;
  9465  	if !(c == Tuint32_t('\175')) {
  9466  		goto __6
  9467  	}
  9468  	goto __3
  9469  __6:
  9470  	;
  9471  	if !(c == Tuint32_t('\054')) {
  9472  		goto __7
  9473  	}
  9474  
  9475  	if !(had_comma != 0) {
  9476  		goto __9
  9477  	}
  9478  	return DFALSE
  9479  __9:
  9480  	;
  9481  	had_comma = DTRUE
  9482  	goto __8
  9483  __7:
  9484  	return DFALSE
  9485  __8:
  9486  	;
  9487  	goto __2
  9488  __2:
  9489  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))++
  9490  	goto __1
  9491  	goto __3
  9492  __3:
  9493  	;
  9494  
  9495  	// The only error from read_number() is for a number that is too big.
  9496  
  9497  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
  9498  	if !!(read_number(tls, bp, ptrend, -1, DMAX_REPEAT_COUNT, ERR5, bp+8, errorcodeptr) != 0) {
  9499  		goto __10
  9500  	}
  9501  	goto EXIT
  9502  __10:
  9503  	;
  9504  
  9505  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\175') {
  9506  		goto __11
  9507  	}
  9508  
  9509  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))++
  9510  	*(*Tint32_t)(unsafe.Pointer(bp + 12 /* max */)) = *(*Tint32_t)(unsafe.Pointer(bp + 8 /* min */))
  9511  	goto __12
  9512  __11:
  9513  
  9514  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)), 1)))) != '\175') {
  9515  		goto __13
  9516  	}
  9517  
  9518  	if !!(read_number(tls, bp, ptrend, -1, DMAX_REPEAT_COUNT, ERR5, bp+12,
  9519  		errorcodeptr) != 0) {
  9520  		goto __14
  9521  	}
  9522  	goto EXIT
  9523  __14:
  9524  	;
  9525  	if !(*(*Tint32_t)(unsafe.Pointer(bp + 12)) < *(*Tint32_t)(unsafe.Pointer(bp + 8))) {
  9526  		goto __15
  9527  	}
  9528  
  9529  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR4
  9530  	goto EXIT
  9531  __15:
  9532  	;
  9533  __13:
  9534  	;
  9535  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))++
  9536  __12:
  9537  	;
  9538  
  9539  	yield = DTRUE
  9540  	if !(minp != uintptr(0)) {
  9541  		goto __16
  9542  	}
  9543  	*(*Tuint32_t)(unsafe.Pointer(minp)) = Tuint32_t(*(*Tint32_t)(unsafe.Pointer(bp + 8 /* min */)))
  9544  __16:
  9545  	;
  9546  	if !(maxp != uintptr(0)) {
  9547  		goto __17
  9548  	}
  9549  	*(*Tuint32_t)(unsafe.Pointer(maxp)) = Tuint32_t(*(*Tint32_t)(unsafe.Pointer(bp + 12 /* max */)))
  9550  __17:
  9551  	;
  9552  
  9553  	// Update the pattern pointer
  9554  
  9555  EXIT:
  9556  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */))
  9557  	return yield
  9558  }
  9559  
  9560  // ************************************************
  9561  //
  9562  //            Handle escapes                      *
  9563  //
  9564  
  9565  // This function is called when a \ has been encountered. It either returns a
  9566  // positive value for a simple escape such as \d, or 0 for a data character, which
  9567  // is placed in chptr. A backreference to group n is returned as negative n. On
  9568  // entry, ptr is pointing at the character after \. On exit, it points after the
  9569  // final code unit of the escape sequence.
  9570  //
  9571  // This function is also called from pcre2_substitute() to handle escape sequences
  9572  // in replacement strings. In this case, the cb argument is NULL, and in the case
  9573  // of escapes that have further processing, only sequences that define a data
  9574  // character are recognised. The isclass argument is not relevant; the options
  9575  // argument is the final value of the compiled pattern's options.
  9576  //
  9577  // Arguments:
  9578  //   ptrptr         points to the input position pointer
  9579  //   ptrend         points to the end of the input
  9580  //   chptr          points to a returned data character
  9581  //   errorcodeptr   points to the errorcode variable (containing zero)
  9582  //   options        the current options bits
  9583  //   isclass        TRUE if inside a character class
  9584  //   cb             compile data block or NULL when called from pcre2_substitute()
  9585  //
  9586  // Returns:         zero => a data character
  9587  //                  positive => a special escape sequence
  9588  //                  negative => a numerical back reference
  9589  //                  on error, errorcodeptr is set non-zero
  9590  
  9591  func X_pcre2_check_escape_8(tls *libc.TLS, ptrptr uintptr, ptrend TPCRE2_SPTR8, chptr uintptr, errorcodeptr uintptr, options Tuint32_t, extra_options Tuint32_t, isclass TBOOL, cb uintptr) int32 { /* pcre2_compile.c:1502:1: */
  9592  	bp := tls.Alloc(32)
  9593  	defer tls.Free(32)
  9594  
  9595  	var utf TBOOL
  9596  	// var ptr TPCRE2_SPTR8 at bp+24, 8
  9597  
  9598  	var c Tuint32_t
  9599  	var cc Tuint32_t
  9600  	var escape int32
  9601  	var i int32
  9602  	// var p TPCRE2_SPTR8 at bp, 8
  9603  
  9604  	var hptr TPCRE2_SPTR8
  9605  	var xc Tuint32_t
  9606  	// var p1 TPCRE2_SPTR8 at bp+8, 8
  9607  
  9608  	var xc1 Tuint32_t
  9609  	// var s int32 at bp+16, 4
  9610  
  9611  	var oldptr TPCRE2_SPTR8
  9612  	var overflow TBOOL
  9613  	var alt_bsux TBOOL
  9614  	utf = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0))
  9615  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
  9616  	escape = 0
  9617  
  9618  	// If backslash is at the end of the string, it's an error.
  9619  
  9620  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend) {
  9621  		goto __1
  9622  	}
  9623  
  9624  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR1
  9625  	return 0
  9626  __1:
  9627  	;
  9628  
  9629  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)), 1))))
  9630  	if !(utf != 0 && c >= 0xc0) {
  9631  		goto __2
  9632  	}
  9633  	if !(c&0x20 == Tuint32_t(0)) {
  9634  		goto __3
  9635  	}
  9636  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1))))&0x3f
  9637  	goto __4
  9638  __3:
  9639  	if !(c&0x10 == Tuint32_t(0)) {
  9640  		goto __5
  9641  	}
  9642  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1)))&0x3f
  9643  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(2)
  9644  	goto __6
  9645  __5:
  9646  	if !(c&0x08 == Tuint32_t(0)) {
  9647  		goto __7
  9648  	}
  9649  	c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 2)))&0x3f
  9650  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(3)
  9651  	goto __8
  9652  __7:
  9653  	if !(c&0x04 == Tuint32_t(0)) {
  9654  		goto __9
  9655  	}
  9656  	c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 3)))&0x3f
  9657  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(4)
  9658  	goto __10
  9659  __9:
  9660  	c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 4)))&0x3f
  9661  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(5)
  9662  __10:
  9663  	;
  9664  __8:
  9665  	;
  9666  __6:
  9667  	;
  9668  __4:
  9669  	;
  9670  __2:
  9671  	;
  9672  
  9673  	// Get character value, increment pointer
  9674  	*(*int32)(unsafe.Pointer(errorcodeptr)) = 0 // Be optimistic
  9675  
  9676  	// Non-alphanumerics are literals, so we just leave the value in c. An initial
  9677  	// value test saves a memory lookup for code points outside the alphanumeric
  9678  	// range.
  9679  
  9680  	if !(c < Tuint32_t('\060') || c > Tuint32_t('\172')) {
  9681  		goto __11
  9682  	}
  9683  	goto __12
  9684  __11:
  9685  	if !(libc.AssignInt32(&i, int32(escapes[c-Tuint32_t('\060')])) != 0) {
  9686  		goto __13
  9687  	}
  9688  
  9689  	if !(i > 0) {
  9690  		goto __15
  9691  	}
  9692  
  9693  	c = Tuint32_t(i)
  9694  	if !(c == Tuint32_t('\015') && extra_options&DPCRE2_EXTRA_ESCAPED_CR_IS_LF != Tuint32_t(0)) {
  9695  		goto __17
  9696  	}
  9697  	c = Tuint32_t('\012')
  9698  __17:
  9699  	;
  9700  	goto __16
  9701  __15: /* Negative table entry */
  9702  
  9703  	escape = -i // Else return a special escape
  9704  	if !(cb != uintptr(0) && (escape == ESC_P || escape == ESC_p || escape == ESC_X)) {
  9705  		goto __18
  9706  	}
  9707  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASBKPORX)
  9708  __18:
  9709  	; // Note \P, \p, or \X
  9710  
  9711  	// Perl supports \N{name} for character names and \N{U+dddd} for numerical
  9712  	//     Unicode code points, as well as plain \N for "not newline". PCRE does not
  9713  	//     support \N{name}. However, it does support quantification such as \N{2,3},
  9714  	//     so if \N{ is not followed by U+dddd we check for a quantifier.
  9715  
  9716  	if !(escape == ESC_N && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\173') {
  9717  		goto __19
  9718  	}
  9719  
  9720  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + uintptr(1)
  9721  
  9722  	// \N{U+ can be handled by the \x{ code. However, this construction is
  9723  	//       not valid in EBCDIC environments because it specifies a Unicode
  9724  	//       character, not a codepoint in the local code. For example \N{U+0041}
  9725  	//       must be "A" in all environments. Also, in Perl, \N{U+ forces Unicode
  9726  	//       casing semantics for the entire pattern, so allow it only in UTF (i.e.
  9727  	//       Unicode) mode.
  9728  
  9729  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))/1 > int64(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\125' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + 1))) == '\053') {
  9730  		goto __20
  9731  	}
  9732  
  9733  	if !(utf != 0) {
  9734  		goto __22
  9735  	}
  9736  
  9737  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + uintptr(1)
  9738  	escape = 0 // Not a fancy escape after all
  9739  	goto COME_FROM_NU
  9740  	goto __23
  9741  __22:
  9742  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR93
  9743  __23:
  9744  	;
  9745  	goto __21
  9746  __20:
  9747  
  9748  	if !(!(read_repeat_counts(tls, bp, ptrend, uintptr(0), uintptr(0), errorcodeptr) != 0) && *(*int32)(unsafe.Pointer(errorcodeptr)) == 0) {
  9749  		goto __24
  9750  	}
  9751  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37
  9752  __24:
  9753  	;
  9754  __21:
  9755  	;
  9756  __19:
  9757  	;
  9758  __16:
  9759  	;
  9760  	goto __14
  9761  __13:
  9762  	alt_bsux =
  9763  		libc.Bool32(options&DPCRE2_ALT_BSUX|extra_options&DPCRE2_EXTRA_ALT_BSUX != Tuint32_t(0))
  9764  
  9765  	// Filter calls from pcre2_substitute().
  9766  
  9767  	if !(cb == uintptr(0)) {
  9768  		goto __25
  9769  	}
  9770  
  9771  	if !(c != Tuint32_t('\143') && c != Tuint32_t('\157') && c != Tuint32_t('\170')) {
  9772  		goto __26
  9773  	}
  9774  
  9775  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR3
  9776  	return 0
  9777  __26:
  9778  	;
  9779  	alt_bsux = DFALSE // Do not modify \x handling
  9780  __25:
  9781  	;
  9782  
  9783  	switch c {
  9784  	// A number of Perl escapes are not handled by PCRE. We give an explicit
  9785  	//     error.
  9786  
  9787  	case Tuint32_t('\106'):
  9788  		goto __28
  9789  	case Tuint32_t('\154'):
  9790  		goto __29
  9791  	case Tuint32_t('\114'):
  9792  		goto __30
  9793  
  9794  	// \u is unrecognized when neither PCRE2_ALT_BSUX nor PCRE2_EXTRA_ALT_BSUX
  9795  	//     is set. Otherwise, \u must be followed by exactly four hex digits or, if
  9796  	//     PCRE2_EXTRA_ALT_BSUX is set, by any number of hex digits in braces.
  9797  	//     Otherwise it is a lowercase u letter. This gives some compatibility with
  9798  	//     ECMAScript (aka JavaScript).
  9799  
  9800  	case Tuint32_t('\165'):
  9801  		goto __31
  9802  
  9803  	// \U is unrecognized unless PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set,
  9804  	//     in which case it is an upper case letter.
  9805  
  9806  	case Tuint32_t('\125'):
  9807  		goto __32
  9808  
  9809  	// In a character class, \g is just a literal "g". Outside a character
  9810  	//     class, \g must be followed by one of a number of specific things:
  9811  	//
  9812  	//     (1) A number, either plain or braced. If positive, it is an absolute
  9813  	//     backreference. If negative, it is a relative backreference. This is a Perl
  9814  	//     5.10 feature.
  9815  	//
  9816  	//     (2) Perl 5.10 also supports \g{name} as a reference to a named group. This
  9817  	//     is part of Perl's movement towards a unified syntax for back references. As
  9818  	//     this is synonymous with \k{name}, we fudge it up by pretending it really
  9819  	//     was \k{name}.
  9820  	//
  9821  	//     (3) For Oniguruma compatibility we also support \g followed by a name or a
  9822  	//     number either in angle brackets or in single quotes. However, these are
  9823  	//     (possibly recursive) subroutine calls, _not_ backreferences. We return
  9824  	//     the ESC_g code.
  9825  	//
  9826  	//     Summary: Return a negative number for a numerical back reference, ESC_k for
  9827  	//     a named back reference, and ESC_g for a named or numbered subroutine call.
  9828  	//
  9829  
  9830  	case Tuint32_t('\147'):
  9831  		goto __33
  9832  
  9833  	// The handling of escape sequences consisting of a string of digits
  9834  	//     starting with one that is not zero is not straightforward. Perl has changed
  9835  	//     over the years. Nowadays \g{} for backreferences and \o{} for octal are
  9836  	//     recommended to avoid the ambiguities in the old syntax.
  9837  	//
  9838  	//     Outside a character class, the digits are read as a decimal number. If the
  9839  	//     number is less than 10, or if there are that many previous extracting left
  9840  	//     brackets, it is a back reference. Otherwise, up to three octal digits are
  9841  	//     read to form an escaped character code. Thus \123 is likely to be octal 123
  9842  	//     (cf \0123, which is octal 012 followed by the literal 3).
  9843  	//
  9844  	//     Inside a character class, \ followed by a digit is always either a literal
  9845  	//     8 or 9 or an octal number.
  9846  
  9847  	case Tuint32_t('\061'):
  9848  		goto __34
  9849  	case Tuint32_t('\062'):
  9850  		goto __35
  9851  	case Tuint32_t('\063'):
  9852  		goto __36
  9853  	case Tuint32_t('\064'):
  9854  		goto __37
  9855  	case Tuint32_t('\065'):
  9856  		goto __38
  9857  	case Tuint32_t('\066'):
  9858  		goto __39
  9859  	case Tuint32_t('\067'):
  9860  		goto __40
  9861  	case Tuint32_t('\070'):
  9862  		goto __41
  9863  	case Tuint32_t('\071'):
  9864  		goto __42
  9865  
  9866  	// Fall through
  9867  
  9868  	// \0 always starts an octal number, but we may drop through to here with a
  9869  	//     larger first octal digit. The original code used just to take the least
  9870  	//     significant 8 bits of octal numbers (I think this is what early Perls used
  9871  	//     to do). Nowadays we allow for larger numbers in UTF-8 mode and 16-bit mode,
  9872  	//     but no more than 3 octal digits.
  9873  
  9874  	case Tuint32_t('\060'):
  9875  		goto __43
  9876  
  9877  	// \o is a relatively new Perl feature, supporting a more general way of
  9878  	//     specifying character codes in octal. The only supported form is \o{ddd}.
  9879  
  9880  	case Tuint32_t('\157'):
  9881  		goto __44
  9882  
  9883  	// When PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set, \x must be followed
  9884  	//     by two hexadecimal digits. Otherwise it is a lowercase x letter.
  9885  
  9886  	case Tuint32_t('\170'):
  9887  		goto __45
  9888  
  9889  	// The handling of \c is different in ASCII and EBCDIC environments. In an
  9890  	//     ASCII (or Unicode) environment, an error is given if the character
  9891  	//     following \c is not a printable ASCII character. Otherwise, the following
  9892  	//     character is upper-cased if it is a letter, and after that the 0x40 bit is
  9893  	//     flipped. The result is the value of the escape.
  9894  	//
  9895  	//     In an EBCDIC environment the handling of \c is compatible with the
  9896  	//     specification in the perlebcdic document. The following character must be
  9897  	//     a letter or one of small number of special characters. These provide a
  9898  	//     means of defining the character values 0-31.
  9899  	//
  9900  	//     For testing the EBCDIC handling of \c in an ASCII environment, recognize
  9901  	//     the EBCDIC value of 'c' explicitly.
  9902  
  9903  	case Tuint32_t('\143'):
  9904  		goto __46
  9905  
  9906  	// Any other alphanumeric following \ is an error. Perl gives an error only
  9907  	//     if in warning mode, but PCRE doesn't have a warning mode.
  9908  
  9909  	default:
  9910  		goto __47
  9911  	}
  9912  	goto __27
  9913  
  9914  	// A number of Perl escapes are not handled by PCRE. We give an explicit
  9915  	//     error.
  9916  
  9917  __28:
  9918  __29:
  9919  __30:
  9920  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37
  9921  	goto __27
  9922  
  9923  	// \u is unrecognized when neither PCRE2_ALT_BSUX nor PCRE2_EXTRA_ALT_BSUX
  9924  	//     is set. Otherwise, \u must be followed by exactly four hex digits or, if
  9925  	//     PCRE2_EXTRA_ALT_BSUX is set, by any number of hex digits in braces.
  9926  	//     Otherwise it is a lowercase u letter. This gives some compatibility with
  9927  	//     ECMAScript (aka JavaScript).
  9928  
  9929  __31:
  9930  	if !!(alt_bsux != 0) {
  9931  		goto __48
  9932  	}
  9933  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37
  9934  	goto __49
  9935  __48:
  9936  
  9937  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend) {
  9938  		goto __50
  9939  	}
  9940  	goto __27
  9941  __50:
  9942  	;
  9943  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\173' && extra_options&DPCRE2_EXTRA_ALT_BSUX != Tuint32_t(0)) {
  9944  		goto __51
  9945  	}
  9946  
  9947  	hptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + uintptr(1)
  9948  	cc = Tuint32_t(0)
  9949  
  9950  __53:
  9951  	if !(hptr < ptrend && libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(hptr))])) != Tuint32_t(0xff)) {
  9952  		goto __54
  9953  	}
  9954  
  9955  	if !(cc&0xf0000000 != Tuint32_t(0)) {
  9956  		goto __55
  9957  	} /* Test for 32-bit overflow */
  9958  
  9959  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR77
  9960  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = hptr // Show where
  9961  	goto __54                                                  // *hptr != } will cause another break below
  9962  __55:
  9963  	;
  9964  	cc = cc<<4 | xc
  9965  	hptr++
  9966  	goto __53
  9967  __54:
  9968  	;
  9969  
  9970  	if !(hptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))+uintptr(1) || hptr >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(hptr))) != '\175') {
  9971  		goto __56
  9972  	} // No } terminator
  9973  	goto __27
  9974  __56:
  9975  	; // Hex escape not recognized
  9976  
  9977  	c = cc // Accept the code point
  9978  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = hptr + uintptr(1)
  9979  	goto __52
  9980  __51: /* Must be exactly 4 hex digits */
  9981  
  9982  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))/1 < int64(4)) {
  9983  		goto __57
  9984  	}
  9985  	goto __27
  9986  __57:
  9987  	; // Less than 4 chars
  9988  	if !(libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) == Tuint32_t(0xff)) {
  9989  		goto __58
  9990  	}
  9991  	goto __27
  9992  __58:
  9993  	; // Not a hex digit
  9994  	if !(libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1))])) == Tuint32_t(0xff)) {
  9995  		goto __59
  9996  	}
  9997  	goto __27
  9998  __59:
  9999  	; // Not a hex digit
 10000  	cc = cc<<4 | xc
 10001  	if !(libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 2))])) == Tuint32_t(0xff)) {
 10002  		goto __60
 10003  	}
 10004  	goto __27
 10005  __60:
 10006  	; // Not a hex digit
 10007  	cc = cc<<4 | xc
 10008  	if !(libc.AssignUint32(&xc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 3))])) == Tuint32_t(0xff)) {
 10009  		goto __61
 10010  	}
 10011  	goto __27
 10012  __61:
 10013  	; // Not a hex digit
 10014  	c = cc<<4 | xc
 10015  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(4)
 10016  __52:
 10017  	;
 10018  
 10019  	if !(utf != 0) {
 10020  		goto __62
 10021  	}
 10022  
 10023  	if !(c > 0x10ffff) {
 10024  		goto __64
 10025  	}
 10026  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR77
 10027  	goto __65
 10028  __64:
 10029  	if !(c >= Tuint32_t(0xd800) && c <= Tuint32_t(0xdfff) && extra_options&DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES == Tuint32_t(0)) {
 10030  		goto __66
 10031  	}
 10032  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR73
 10033  __66:
 10034  	;
 10035  __65:
 10036  	;
 10037  	goto __63
 10038  __62:
 10039  	if !(c > uint32(0xffffffff)>>(32-DPCRE2_CODE_UNIT_WIDTH)) {
 10040  		goto __67
 10041  	}
 10042  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR77
 10043  __67:
 10044  	;
 10045  __63:
 10046  	;
 10047  __49:
 10048  	;
 10049  	goto __27
 10050  
 10051  	// \U is unrecognized unless PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set,
 10052  	//     in which case it is an upper case letter.
 10053  
 10054  __32:
 10055  	if !!(alt_bsux != 0) {
 10056  		goto __68
 10057  	}
 10058  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR37
 10059  __68:
 10060  	;
 10061  	goto __27
 10062  
 10063  	// In a character class, \g is just a literal "g". Outside a character
 10064  	//     class, \g must be followed by one of a number of specific things:
 10065  	//
 10066  	//     (1) A number, either plain or braced. If positive, it is an absolute
 10067  	//     backreference. If negative, it is a relative backreference. This is a Perl
 10068  	//     5.10 feature.
 10069  	//
 10070  	//     (2) Perl 5.10 also supports \g{name} as a reference to a named group. This
 10071  	//     is part of Perl's movement towards a unified syntax for back references. As
 10072  	//     this is synonymous with \k{name}, we fudge it up by pretending it really
 10073  	//     was \k{name}.
 10074  	//
 10075  	//     (3) For Oniguruma compatibility we also support \g followed by a name or a
 10076  	//     number either in angle brackets or in single quotes. However, these are
 10077  	//     (possibly recursive) subroutine calls, _not_ backreferences. We return
 10078  	//     the ESC_g code.
 10079  	//
 10080  	//     Summary: Return a negative number for a numerical back reference, ESC_k for
 10081  	//     a named back reference, and ESC_g for a named or numbered subroutine call.
 10082  	//
 10083  
 10084  __33:
 10085  	if !(isclass != 0) {
 10086  		goto __69
 10087  	}
 10088  	goto __27
 10089  __69:
 10090  	;
 10091  
 10092  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend) {
 10093  		goto __70
 10094  	}
 10095  
 10096  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR57
 10097  	goto __27
 10098  __70:
 10099  	;
 10100  
 10101  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\074' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\047') {
 10102  		goto __71
 10103  	}
 10104  
 10105  	escape = ESC_g
 10106  	goto __27
 10107  __71:
 10108  	;
 10109  
 10110  	// If there is a brace delimiter, try to read a numerical reference. If
 10111  	//     there isn't one, assume we have a name and treat it as \k.
 10112  
 10113  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\173') {
 10114  		goto __72
 10115  	}
 10116  
 10117  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* p1 */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + uintptr(1)
 10118  	if !!(read_number(tls, bp+8, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+16,
 10119  		errorcodeptr) != 0) {
 10120  		goto __74
 10121  	}
 10122  
 10123  	if !(*(*int32)(unsafe.Pointer(errorcodeptr)) == 0) {
 10124  		goto __75
 10125  	}
 10126  	escape = ESC_k
 10127  __75:
 10128  	; // No number found
 10129  	goto __27
 10130  __74:
 10131  	;
 10132  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\175') {
 10133  		goto __76
 10134  	}
 10135  
 10136  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR57
 10137  	goto __27
 10138  __76:
 10139  	;
 10140  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + uintptr(1)
 10141  	goto __73
 10142  __72:
 10143  
 10144  	if !!(read_number(tls, bp+24, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+16,
 10145  		errorcodeptr) != 0) {
 10146  		goto __77
 10147  	}
 10148  
 10149  	if !(*(*int32)(unsafe.Pointer(errorcodeptr)) == 0) {
 10150  		goto __78
 10151  	}
 10152  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR57
 10153  __78:
 10154  	; // No number found
 10155  	goto __27
 10156  __77:
 10157  	;
 10158  __73:
 10159  	;
 10160  
 10161  	if !(*(*int32)(unsafe.Pointer(bp + 16)) <= 0) {
 10162  		goto __79
 10163  	}
 10164  
 10165  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15
 10166  	goto __27
 10167  __79:
 10168  	;
 10169  
 10170  	escape = -*(*int32)(unsafe.Pointer(bp + 16 /* s */))
 10171  	goto __27
 10172  
 10173  	// The handling of escape sequences consisting of a string of digits
 10174  	//     starting with one that is not zero is not straightforward. Perl has changed
 10175  	//     over the years. Nowadays \g{} for backreferences and \o{} for octal are
 10176  	//     recommended to avoid the ambiguities in the old syntax.
 10177  	//
 10178  	//     Outside a character class, the digits are read as a decimal number. If the
 10179  	//     number is less than 10, or if there are that many previous extracting left
 10180  	//     brackets, it is a back reference. Otherwise, up to three octal digits are
 10181  	//     read to form an escaped character code. Thus \123 is likely to be octal 123
 10182  	//     (cf \0123, which is octal 012 followed by the literal 3).
 10183  	//
 10184  	//     Inside a character class, \ followed by a digit is always either a literal
 10185  	//     8 or 9 or an octal number.
 10186  
 10187  __34:
 10188  __35:
 10189  __36:
 10190  __37:
 10191  __38:
 10192  __39:
 10193  __40:
 10194  __41:
 10195  __42:
 10196  
 10197  	if !!(isclass != 0) {
 10198  		goto __80
 10199  	}
 10200  
 10201  	oldptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))
 10202  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))-- // Back to the digit
 10203  
 10204  	// As we know we are at a digit, the only possible error from
 10205  	//       read_number() is a number that is too large to be a group number. In this
 10206  	//       case we fall through handle this as not a group reference. If we have
 10207  	//       read a small enough number, check for a back reference.
 10208  	//
 10209  	//       \1 to \9 are always back references. \8x and \9x are too; \1x to \7x
 10210  	//       are octal escapes if there are not that many previous captures.
 10211  
 10212  	if !(read_number(tls, bp+24, ptrend, -1, uint32(0x7fffffff/10-1), uint32(0), bp+16, errorcodeptr) != 0 && (*(*int32)(unsafe.Pointer(bp + 16)) < 10 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(oldptr + libc.UintptrFromInt32(-1)))) >= '\070' || *(*int32)(unsafe.Pointer(bp + 16)) <= int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount))) {
 10213  		goto __81
 10214  	}
 10215  
 10216  	if !(*(*int32)(unsafe.Pointer(bp + 16)) > int32(DMAX_GROUP_NUMBER)) {
 10217  		goto __82
 10218  	}
 10219  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR61
 10220  	goto __83
 10221  __82:
 10222  	escape = -*(*int32)(unsafe.Pointer(bp + 16 /* s */))
 10223  __83:
 10224  	; // Indicates a back reference
 10225  	goto __27
 10226  __81:
 10227  	;
 10228  
 10229  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) = oldptr // Put the pointer back and fall through
 10230  __80:
 10231  	;
 10232  
 10233  	// Handle a digit following \ when the number is not a back reference, or
 10234  	//     we are within a character class. If the first digit is 8 or 9, Perl used to
 10235  	//     generate a binary zero and then treat the digit as a following literal. At
 10236  	//     least by Perl 5.18 this changed so as not to insert the binary zero.
 10237  
 10238  	if !(c >= Tuint32_t('\070')) {
 10239  		goto __84
 10240  	}
 10241  	goto __27
 10242  __84:
 10243  	;
 10244  
 10245  	// Fall through
 10246  
 10247  	// \0 always starts an octal number, but we may drop through to here with a
 10248  	//     larger first octal digit. The original code used just to take the least
 10249  	//     significant 8 bits of octal numbers (I think this is what early Perls used
 10250  	//     to do). Nowadays we allow for larger numbers in UTF-8 mode and 16-bit mode,
 10251  	//     but no more than 3 octal digits.
 10252  
 10253  __43:
 10254  	c = c - Tuint32_t('\060')
 10255  __85:
 10256  	if !(libc.PostIncInt32(&i, 1) < 2 && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) <= '\067') {
 10257  		goto __86
 10258  	}
 10259  	c = c*Tuint32_t(8) + Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1)))) - Tuint32_t('\060')
 10260  	goto __85
 10261  __86:
 10262  	;
 10263  	if !(!(utf != 0) && c > Tuint32_t(0xff)) {
 10264  		goto __87
 10265  	}
 10266  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR51
 10267  __87:
 10268  	;
 10269  	goto __27
 10270  
 10271  	// \o is a relatively new Perl feature, supporting a more general way of
 10272  	//     specifying character codes in octal. The only supported form is \o{ddd}.
 10273  
 10274  __44:
 10275  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1)))) != '\173') {
 10276  		goto __88
 10277  	}
 10278  
 10279  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))--
 10280  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR55
 10281  	goto __89
 10282  __88:
 10283  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\175') {
 10284  		goto __90
 10285  	}
 10286  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR78
 10287  	goto __91
 10288  __90:
 10289  
 10290  	c = Tuint32_t(0)
 10291  	overflow = DFALSE
 10292  __92:
 10293  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) <= '\067') {
 10294  		goto __93
 10295  	}
 10296  
 10297  	cc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)), 1))))
 10298  	if !(c == Tuint32_t(0) && cc == Tuint32_t('\060')) {
 10299  		goto __94
 10300  	}
 10301  	goto __92
 10302  __94:
 10303  	; // Leading zeroes
 10304  	c = c<<3 + (cc - Tuint32_t('\060'))
 10305  	if !(c > func() uint32 {
 10306  		if utf != 0 {
 10307  			return 0x10ffff
 10308  		}
 10309  		return 0xff
 10310  	}()) {
 10311  		goto __95
 10312  	}
 10313  	overflow = DTRUE
 10314  	goto __93
 10315  __95:
 10316  	;
 10317  	goto __92
 10318  __93:
 10319  	;
 10320  	if !(overflow != 0) {
 10321  		goto __96
 10322  	}
 10323  
 10324  __98:
 10325  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) <= '\067') {
 10326  		goto __99
 10327  	}
 10328  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++
 10329  	goto __98
 10330  __99:
 10331  	;
 10332  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR34
 10333  	goto __97
 10334  __96:
 10335  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1)))) == '\175') {
 10336  		goto __100
 10337  	}
 10338  
 10339  	if !(utf != 0 && c >= Tuint32_t(0xd800) && c <= Tuint32_t(0xdfff) && extra_options&DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES == Tuint32_t(0)) {
 10340  		goto __102
 10341  	}
 10342  
 10343  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))--
 10344  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR73
 10345  __102:
 10346  	;
 10347  	goto __101
 10348  __100:
 10349  
 10350  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))--
 10351  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR64
 10352  __101:
 10353  	;
 10354  __97:
 10355  	;
 10356  __91:
 10357  	;
 10358  __89:
 10359  	;
 10360  	goto __27
 10361  
 10362  	// When PCRE2_ALT_BSUX or PCRE2_EXTRA_ALT_BSUX is set, \x must be followed
 10363  	//     by two hexadecimal digits. Otherwise it is a lowercase x letter.
 10364  
 10365  __45:
 10366  	if !(alt_bsux != 0) {
 10367  		goto __103
 10368  	}
 10369  
 10370  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))/1 < int64(2)) {
 10371  		goto __105
 10372  	}
 10373  	goto __27
 10374  __105:
 10375  	; // Less than 2 characters
 10376  	if !(libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) == Tuint32_t(0xff)) {
 10377  		goto __106
 10378  	}
 10379  	goto __27
 10380  __106:
 10381  	; // Not a hex digit
 10382  	if !(libc.AssignUint32(&xc1, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + 1))])) == Tuint32_t(0xff)) {
 10383  		goto __107
 10384  	}
 10385  	goto __27
 10386  __107:
 10387  	; // Not a hex digit
 10388  	c = cc<<4 | xc1
 10389  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)) += uintptr(2)
 10390  	goto __104
 10391  __103:
 10392  
 10393  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\173') {
 10394  		goto __108
 10395  	}
 10396  
 10397  COME_FROM_NU:
 10398  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))) == '\175') {
 10399  		goto __110
 10400  	}
 10401  
 10402  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR78
 10403  	goto __27
 10404  __110:
 10405  	;
 10406  	c = Tuint32_t(0)
 10407  	overflow = DFALSE
 10408  
 10409  __111:
 10410  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) != Tuint32_t(0xff)) {
 10411  		goto __112
 10412  	}
 10413  
 10414  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++
 10415  	if !(c == Tuint32_t(0) && cc == Tuint32_t(0)) {
 10416  		goto __113
 10417  	}
 10418  	goto __111
 10419  __113:
 10420  	; // Leading zeroes
 10421  	c = c<<4 | cc
 10422  	if !(utf != 0 && c > 0x10ffff || !(utf != 0) && c > uint32(0xffffffff)>>(32-DPCRE2_CODE_UNIT_WIDTH)) {
 10423  		goto __114
 10424  	}
 10425  
 10426  	overflow = DTRUE
 10427  	goto __112
 10428  __114:
 10429  	;
 10430  	goto __111
 10431  __112:
 10432  	;
 10433  
 10434  	if !(overflow != 0) {
 10435  		goto __115
 10436  	}
 10437  
 10438  __117:
 10439  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))]) != 0xff) {
 10440  		goto __118
 10441  	}
 10442  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++
 10443  	goto __117
 10444  __118:
 10445  	;
 10446  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR34
 10447  	goto __116
 10448  __115:
 10449  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)), 1)))) == '\175') {
 10450  		goto __119
 10451  	}
 10452  
 10453  	if !(utf != 0 && c >= Tuint32_t(0xd800) && c <= Tuint32_t(0xdfff) && extra_options&DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES == Tuint32_t(0)) {
 10454  		goto __121
 10455  	}
 10456  
 10457  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))--
 10458  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR73
 10459  __121:
 10460  	;
 10461  	goto __120
 10462  __119:
 10463  
 10464  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))--
 10465  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR67
 10466  __120:
 10467  	;
 10468  __116:
 10469  	;
 10470  	goto __109
 10471  __108:
 10472  
 10473  	c = Tuint32_t(0)
 10474  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend || libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) == Tuint32_t(0xff)) {
 10475  		goto __122
 10476  	}
 10477  	goto __27
 10478  __122:
 10479  	; // Not a hex digit
 10480  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++
 10481  	c = cc
 10482  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend || libc.AssignUint32(&cc, Tuint32_t(xdigitab[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24))))])) == Tuint32_t(0xff)) {
 10483  		goto __123
 10484  	}
 10485  	goto __27
 10486  __123:
 10487  	; // Not a hex digit
 10488  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++
 10489  	c = c<<4 | cc
 10490  __109:
 10491  	; // End of \xdd handling
 10492  __104:
 10493  	; // End of Perl-style \x handling
 10494  	goto __27
 10495  
 10496  	// The handling of \c is different in ASCII and EBCDIC environments. In an
 10497  	//     ASCII (or Unicode) environment, an error is given if the character
 10498  	//     following \c is not a printable ASCII character. Otherwise, the following
 10499  	//     character is upper-cased if it is a letter, and after that the 0x40 bit is
 10500  	//     flipped. The result is the value of the escape.
 10501  	//
 10502  	//     In an EBCDIC environment the handling of \c is compatible with the
 10503  	//     specification in the perlebcdic document. The following character must be
 10504  	//     a letter or one of small number of special characters. These provide a
 10505  	//     means of defining the character values 0-31.
 10506  	//
 10507  	//     For testing the EBCDIC handling of \c in an ASCII environment, recognize
 10508  	//     the EBCDIC value of 'c' explicitly.
 10509  
 10510  __46:
 10511  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) >= ptrend) {
 10512  		goto __124
 10513  	}
 10514  
 10515  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR2
 10516  	goto __27
 10517  __124:
 10518  	;
 10519  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */)))))
 10520  	if !(c >= Tuint32_t('\141') && c <= Tuint32_t('\172')) {
 10521  		goto __125
 10522  	}
 10523  	c = c - Tuint32_t(32)
 10524  __125:
 10525  	;
 10526  
 10527  	// Handle \c in an ASCII/Unicode environment.
 10528  
 10529  	if !(c < Tuint32_t(32) || c > Tuint32_t(126)) {
 10530  		goto __126
 10531  	} /* Excludes all non-printable ASCII */
 10532  
 10533  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR68
 10534  	goto __27
 10535  __126:
 10536  	;
 10537  	c = c ^ Tuint32_t(0x40)
 10538  
 10539  	// Handle \c in an EBCDIC environment. The special case \c? is converted to
 10540  	//     255 (0xff) or 95 (0x5f) if other characters suggest we are using the
 10541  	//     POSIX-BC encoding. (This is the way Perl indicates that it handles \c?.)
 10542  	//     The other valid sequences correspond to a list of specific characters.
 10543  
 10544  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))++
 10545  	goto __27
 10546  
 10547  	// Any other alphanumeric following \ is an error. Perl gives an error only
 10548  	//     if in warning mode, but PCRE doesn't have a warning mode.
 10549  
 10550  __47:
 10551  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR3
 10552  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) - uintptr(1) // Point to the character at fault
 10553  	return 0
 10554  __27:
 10555  	;
 10556  __14:
 10557  	;
 10558  __12:
 10559  	;
 10560  
 10561  	// Set the pointer to the next character before returning.
 10562  
 10563  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* ptr */))
 10564  	*(*Tuint32_t)(unsafe.Pointer(chptr)) = c
 10565  	return escape
 10566  }
 10567  
 10568  // ************************************************
 10569  //
 10570  //               Handle \P and \p                 *
 10571  //
 10572  
 10573  // This function is called after \P or \p has been encountered, provided that
 10574  // PCRE2 is compiled with support for UTF and Unicode properties. On entry, the
 10575  // contents of ptrptr are pointing after the P or p. On exit, it is left pointing
 10576  // after the final code unit of the escape sequence.
 10577  //
 10578  // Arguments:
 10579  //   ptrptr         the pattern position pointer
 10580  //   negptr         a boolean that is set TRUE for negation else FALSE
 10581  //   ptypeptr       an unsigned int that is set to the type value
 10582  //   pdataptr       an unsigned int that is set to the detailed property value
 10583  //   errorcodeptr   the error code variable
 10584  //   cb             the compile data
 10585  //
 10586  // Returns:         TRUE if the type value was found, or FALSE for an invalid type
 10587  
 10588  func get_ucp(tls *libc.TLS, ptrptr uintptr, negptr uintptr, ptypeptr uintptr, pdataptr uintptr, errorcodeptr uintptr, cb uintptr) TBOOL { /* pcre2_compile.c:2087:1: */
 10589  	bp := tls.Alloc(58)
 10590  	defer tls.Free(58)
 10591  
 10592  	var c TPCRE2_UCHAR8
 10593  	var i Tsize_t
 10594  	var bot Tsize_t
 10595  	var top Tsize_t
 10596  	var ptr TPCRE2_SPTR8
 10597  	// var name [50]TPCRE2_UCHAR8 at bp, 50
 10598  
 10599  	var vptr uintptr
 10600  	var ptscript Tuint16_t
 10601  	var offset int32
 10602  	// var sname [8]TPCRE2_UCHAR8 at bp+50, 8
 10603  
 10604  	var r int32
 10605  	ptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
 10606  	vptr = uintptr(0)
 10607  	ptscript = Tuint16_t(DPT_NOTSCRIPT)
 10608  
 10609  	if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) {
 10610  		goto __1
 10611  	}
 10612  	goto ERROR_RETURN
 10613  __1:
 10614  	;
 10615  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))
 10616  	*(*TBOOL)(unsafe.Pointer(negptr)) = DFALSE
 10617  
 10618  	// \P or \p can be followed by a name in {}, optionally preceded by ^ for
 10619  	// negation.
 10620  
 10621  	if !(int32(c) == '\173') {
 10622  		goto __2
 10623  	}
 10624  
 10625  	if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) {
 10626  		goto __4
 10627  	}
 10628  	goto ERROR_RETURN
 10629  __4:
 10630  	;
 10631  
 10632  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\136') {
 10633  		goto __5
 10634  	}
 10635  
 10636  	*(*TBOOL)(unsafe.Pointer(negptr)) = DTRUE
 10637  	ptr++
 10638  __5:
 10639  	;
 10640  
 10641  	i = uint64(0)
 10642  __6:
 10643  	if !(i < uint64(int32(uint64(unsafe.Sizeof([50]TPCRE2_UCHAR8{}))/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))-1)) {
 10644  		goto __8
 10645  	}
 10646  
 10647  	if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) {
 10648  		goto __9
 10649  	}
 10650  	goto ERROR_RETURN
 10651  __9:
 10652  	;
 10653  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))
 10654  __10:
 10655  	if !(int32(c) == '_' || int32(c) == '-' || int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2)))&int32(_ISspace) != 0) {
 10656  		goto __11
 10657  	}
 10658  
 10659  	if !(ptr >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern) {
 10660  		goto __12
 10661  	}
 10662  	goto ERROR_RETURN
 10663  __12:
 10664  	;
 10665  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1)))
 10666  	goto __10
 10667  __11:
 10668  	;
 10669  	if !(int32(c) == 0) {
 10670  		goto __13
 10671  	}
 10672  	goto ERROR_RETURN
 10673  __13:
 10674  	;
 10675  	if !(int32(c) == '\175') {
 10676  		goto __14
 10677  	}
 10678  	goto __8
 10679  __14:
 10680  	;
 10681  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + uintptr(i))) = TPCRE2_UCHAR8(libc.Xtolower(tls, int32(c)))
 10682  	if !((int32(c) == ':' || int32(c) == '=') && vptr == uintptr(0)) {
 10683  		goto __15
 10684  	}
 10685  	vptr = bp + uintptr(i)
 10686  __15:
 10687  	;
 10688  	goto __7
 10689  __7:
 10690  	i++
 10691  	goto __6
 10692  	goto __8
 10693  __8:
 10694  	;
 10695  
 10696  	if !(int32(c) != '\175') {
 10697  		goto __16
 10698  	}
 10699  	goto ERROR_RETURN
 10700  __16:
 10701  	;
 10702  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + uintptr(i))) = TPCRE2_UCHAR8(0)
 10703  	goto __3
 10704  __2:
 10705  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(c))))&Dctype_letter != 0) {
 10706  		goto __17
 10707  	}
 10708  
 10709  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)) = TPCRE2_UCHAR8(libc.Xtolower(tls, int32(c)))
 10710  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 1)) = TPCRE2_UCHAR8(0)
 10711  	goto __18
 10712  __17:
 10713  	goto ERROR_RETURN
 10714  __18:
 10715  	;
 10716  __3:
 10717  	;
 10718  
 10719  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
 10720  
 10721  	// If the property contains ':' or '=' we have class name and value separately
 10722  	// specified. The following are supported:
 10723  	//
 10724  	//   . Bidi_Class (synonym bc), for which the property names are "bidi<name>".
 10725  	//   . Script (synonym sc) for which the property name is the script name
 10726  	//   . Script_Extensions (synonym scx), ditto
 10727  	//
 10728  	// As this is a small number, we currently just check the names directly. If this
 10729  	// grows, a sorted table and a switch will be neater.
 10730  	//
 10731  	// For both the script properties, set a PT_xxx value so that (1) they can be
 10732  	// distinguished and (2) invalid script names that happen to be the name of
 10733  	// another property can be diagnosed.
 10734  
 10735  	if !(vptr != uintptr(0)) {
 10736  		goto __19
 10737  	}
 10738  
 10739  	offset = 0
 10740  
 10741  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(vptr)) = TPCRE2_UCHAR8(0) // Terminate property name
 10742  	if !(X_pcre2_strcmp_c8_8(tls, bp, ts+553) == 0 || X_pcre2_strcmp_c8_8(tls, bp, ts+563) == 0) {
 10743  		goto __20
 10744  	}
 10745  
 10746  	offset = 4
 10747  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50)) = TPCRE2_UCHAR8('\142')
 10748  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50 + 1)) = TPCRE2_UCHAR8('\151') // There is no strcpy_c8 function
 10749  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50 + 2)) = TPCRE2_UCHAR8('\144')
 10750  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 50 + 3)) = TPCRE2_UCHAR8('\151')
 10751  	goto __21
 10752  __20:
 10753  	if !(X_pcre2_strcmp_c8_8(tls, bp, ts+566) == 0 || X_pcre2_strcmp_c8_8(tls, bp, ts+573) == 0) {
 10754  		goto __22
 10755  	}
 10756  	ptscript = Tuint16_t(DPT_SC)
 10757  	goto __23
 10758  __22:
 10759  	if !(X_pcre2_strcmp_c8_8(tls, bp, ts+576) == 0 || X_pcre2_strcmp_c8_8(tls, bp, ts+593) == 0) {
 10760  		goto __24
 10761  	}
 10762  	ptscript = Tuint16_t(DPT_SCX)
 10763  	goto __25
 10764  __24:
 10765  
 10766  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR47
 10767  	return DFALSE
 10768  __25:
 10769  	;
 10770  __23:
 10771  	;
 10772  __21:
 10773  	;
 10774  
 10775  	// Adjust the string in name[] as needed
 10776  
 10777  	libc.Xmemmove(tls, bp+uintptr(offset), vptr+uintptr(1), uint64((int64(bp+uintptr(i))-int64(vptr))/1)*uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 10778  	if !(offset != 0) {
 10779  		goto __26
 10780  	}
 10781  	libc.Xmemmove(tls, bp, bp+50, uint64(offset)*uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 10782  __26:
 10783  	;
 10784  __19:
 10785  	;
 10786  
 10787  	// Search for a recognized property using binary chop.
 10788  
 10789  	bot = uint64(0)
 10790  	top = X_pcre2_utt_size_8
 10791  
 10792  __27:
 10793  	if !(bot < top) {
 10794  		goto __28
 10795  	}
 10796  
 10797  	i = (bot + top) >> 1
 10798  	r = X_pcre2_strcmp_c8_8(tls, bp, uintptr(unsafe.Pointer(&X_pcre2_utt_names_8))+uintptr(X_pcre2_utt_8[i].Fname_offset))
 10799  
 10800  	// When a matching property is found, some extra checking is needed when the
 10801  	//   \p{xx:yy} syntax is used and xx is either sc or scx.
 10802  
 10803  	if !(r == 0) {
 10804  		goto __29
 10805  	}
 10806  
 10807  	*(*Tuint16_t)(unsafe.Pointer(pdataptr)) = X_pcre2_utt_8[i].Fvalue
 10808  	if !(vptr == uintptr(0) || int32(ptscript) == DPT_NOTSCRIPT) {
 10809  		goto __30
 10810  	}
 10811  
 10812  	*(*Tuint16_t)(unsafe.Pointer(ptypeptr)) = X_pcre2_utt_8[i].Ftype
 10813  	return DTRUE
 10814  __30:
 10815  	;
 10816  
 10817  	switch int32(X_pcre2_utt_8[i].Ftype) {
 10818  	case DPT_SC:
 10819  		goto __32
 10820  
 10821  	case DPT_SCX:
 10822  		goto __33
 10823  	}
 10824  	goto __31
 10825  
 10826  __32:
 10827  	*(*Tuint16_t)(unsafe.Pointer(ptypeptr)) = Tuint16_t(DPT_SC)
 10828  	return DTRUE
 10829  
 10830  __33:
 10831  	*(*Tuint16_t)(unsafe.Pointer(ptypeptr)) = ptscript
 10832  	return DTRUE
 10833  __31:
 10834  	;
 10835  
 10836  	goto __28 // Non-script found
 10837  __29:
 10838  	;
 10839  
 10840  	if !(r > 0) {
 10841  		goto __34
 10842  	}
 10843  	bot = i + uint64(1)
 10844  	goto __35
 10845  __34:
 10846  	top = i
 10847  __35:
 10848  	;
 10849  	goto __27
 10850  __28:
 10851  	;
 10852  
 10853  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR47 // Unrecognized property
 10854  	return DFALSE
 10855  
 10856  ERROR_RETURN: // Malformed \P or \p
 10857  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR46
 10858  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
 10859  	return DFALSE
 10860  }
 10861  
 10862  // ************************************************
 10863  //
 10864  //           Check for POSIX class syntax         *
 10865  //
 10866  
 10867  // This function is called when the sequence "[:" or "[." or "[=" is
 10868  // encountered in a character class. It checks whether this is followed by a
 10869  // sequence of characters terminated by a matching ":]" or ".]" or "=]". If we
 10870  // reach an unescaped ']' without the special preceding character, return FALSE.
 10871  //
 10872  // Originally, this function only recognized a sequence of letters between the
 10873  // terminators, but it seems that Perl recognizes any sequence of characters,
 10874  // though of course unknown POSIX names are subsequently rejected. Perl gives an
 10875  // "Unknown POSIX class" error for [:f\oo:] for example, where previously PCRE
 10876  // didn't consider this to be a POSIX class. Likewise for [:1234:].
 10877  //
 10878  // The problem in trying to be exactly like Perl is in the handling of escapes. We
 10879  // have to be sure that [abc[:x\]pqr] is *not* treated as containing a POSIX
 10880  // class, but [abc[:x\]pqr:]] is (so that an error can be generated). The code
 10881  // below handles the special cases \\ and \], but does not try to do any other
 10882  // escape processing. This makes it different from Perl for cases such as
 10883  // [:l\ower:] where Perl recognizes it as the POSIX class "lower" but PCRE does
 10884  // not recognize "l\ower". This is a lesser evil than not diagnosing bad classes
 10885  // when Perl does, I think.
 10886  //
 10887  // A user pointed out that PCRE was rejecting [:a[:digit:]] whereas Perl was not.
 10888  // It seems that the appearance of a nested POSIX class supersedes an apparent
 10889  // external class. For example, [:a[:digit:]b:] matches "a", "b", ":", or
 10890  // a digit. This is handled by returning FALSE if the start of a new group with
 10891  // the same terminator is encountered, since the next closing sequence must close
 10892  // the nested group, not the outer one.
 10893  //
 10894  // In Perl, unescaped square brackets may also appear as part of class names. For
 10895  // example, [:a[:abc]b:] gives unknown POSIX class "[:abc]b:]". However, for
 10896  // [:a[:abc]b][b:] it gives unknown POSIX class "[:abc]b][b:]", which does not
 10897  // seem right at all. PCRE does not allow closing square brackets in POSIX class
 10898  // names.
 10899  //
 10900  // Arguments:
 10901  //   ptr      pointer to the character after the initial [ (colon, dot, equals)
 10902  //   ptrend   pointer to the end of the pattern
 10903  //   endptr   where to return a pointer to the terminating ':', '.', or '='
 10904  //
 10905  // Returns:   TRUE or FALSE
 10906  
 10907  func check_posix_syntax(tls *libc.TLS, ptr TPCRE2_SPTR8, ptrend TPCRE2_SPTR8, endptr uintptr) TBOOL { /* pcre2_compile.c:2293:1: */
 10908  	var terminator TPCRE2_UCHAR8                                                 // Don't combine these lines; the Solaris cc
 10909  	terminator = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))) // compiler warns about "non-constant" initializer.
 10910  
 10911  	for ; (int64(ptrend)-int64(ptr))/1 >= int64(2); ptr++ {
 10912  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\134' && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\135' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\134') {
 10913  			ptr++
 10914  		} else if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\133' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == int32(terminator) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == '\135' {
 10915  			return DFALSE
 10916  		} else if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(terminator) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\135' {
 10917  			*(*TPCRE2_SPTR8)(unsafe.Pointer(endptr)) = ptr
 10918  			return DTRUE
 10919  		}
 10920  	}
 10921  
 10922  	return DFALSE
 10923  }
 10924  
 10925  // ************************************************
 10926  //
 10927  //          Check POSIX class name                *
 10928  //
 10929  
 10930  // This function is called to check the name given in a POSIX-style class entry
 10931  // such as [:alnum:].
 10932  //
 10933  // Arguments:
 10934  //   ptr        points to the first letter
 10935  //   len        the length of the name
 10936  //
 10937  // Returns:     a value representing the name, or -1 if unknown
 10938  
 10939  func check_posix_name(tls *libc.TLS, ptr TPCRE2_SPTR8, len int32) int32 { /* pcre2_compile.c:2334:1: */
 10940  	var pn uintptr = uintptr(unsafe.Pointer(&posix_names))
 10941  	var yield int32 = 0
 10942  	for int32(posix_name_lengths[yield]) != 0 {
 10943  		if len == int32(posix_name_lengths[yield]) && X_pcre2_strncmp_c8_8(tls, ptr, pn, uint64(uint32(len))) == 0 {
 10944  			return yield
 10945  		}
 10946  		pn += uintptr(int32(posix_name_lengths[yield]) + 1)
 10947  		yield++
 10948  	}
 10949  	return -1
 10950  }
 10951  
 10952  // ************************************************
 10953  //
 10954  //       Read a subpattern or VERB name           *
 10955  //
 10956  
 10957  // This function is called from parse_regex() below whenever it needs to read
 10958  // the name of a subpattern or a (*VERB) or an (*alpha_assertion). The initial
 10959  // pointer must be to the character before the name. If that character is '*' we
 10960  // are reading a verb or alpha assertion name. The pointer is updated to point
 10961  // after the name, for a VERB or alpha assertion name, or after tha name's
 10962  // terminator for a subpattern name. Returning both the offset and the name
 10963  // pointer is redundant information, but some callers use one and some the other,
 10964  // so it is simplest just to return both.
 10965  //
 10966  // Arguments:
 10967  //   ptrptr      points to the character pointer variable
 10968  //   ptrend      points to the end of the input string
 10969  //   utf         true if the input is UTF-encoded
 10970  //   terminator  the terminator of a subpattern name must be this
 10971  //   offsetptr   where to put the offset from the start of the pattern
 10972  //   nameptr     where to put a pointer to the name in the input
 10973  //   namelenptr  where to put the length of the name
 10974  //   errcodeptr  where to put an error code
 10975  //   cb          pointer to the compile data block
 10976  //
 10977  // Returns:    TRUE if a name was read
 10978  //             FALSE otherwise, with error code set
 10979  
 10980  func read_name(tls *libc.TLS, ptrptr uintptr, ptrend TPCRE2_SPTR8, utf TBOOL, terminator Tuint32_t, offsetptr uintptr, nameptr uintptr, namelenptr uintptr, errorcodeptr uintptr, cb uintptr) TBOOL { /* pcre2_compile.c:2379:1: */
 10981  	var ptr TPCRE2_SPTR8
 10982  	var is_group TBOOL
 10983  	var c Tuint32_t
 10984  	var type1 Tuint32_t
 10985  	ptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
 10986  	is_group = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) != '\052')
 10987  
 10988  	if !(libc.PreIncUintptr(&ptr, 1) >= ptrend) {
 10989  		goto __1
 10990  	} /* No characters in name */
 10991  
 10992  	*(*int32)(unsafe.Pointer(errorcodeptr)) = func() int32 {
 10993  		if is_group != 0 {
 10994  			return ERR62
 10995  		}
 10996  		return ERR60
 10997  	}() // Verb not recognized or malformed
 10998  	goto FAILED
 10999  __1:
 11000  	;
 11001  
 11002  	*(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr)) = ptr
 11003  	*(*Tsize_t)(unsafe.Pointer(offsetptr)) = Tsize_t((int64(ptr) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 11004  
 11005  	// In UTF mode, a group name may contain letters and decimal digits as defined
 11006  	// by Unicode properties, and underscores, but must not start with a digit.
 11007  
 11008  	if !(utf != 0 && is_group != 0) {
 11009  		goto __2
 11010  	}
 11011  
 11012  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 11013  	if !(c >= 0xc0) {
 11014  		goto __4
 11015  	}
 11016  	if !(c&0x20 == Tuint32_t(0)) {
 11017  		goto __5
 11018  	}
 11019  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 11020  	goto __6
 11021  __5:
 11022  	if !(c&0x10 == Tuint32_t(0)) {
 11023  		goto __7
 11024  	}
 11025  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 11026  	goto __8
 11027  __7:
 11028  	if !(c&0x08 == Tuint32_t(0)) {
 11029  		goto __9
 11030  	}
 11031  	c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f
 11032  	goto __10
 11033  __9:
 11034  	if !(c&0x04 == Tuint32_t(0)) {
 11035  		goto __11
 11036  	}
 11037  	c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f
 11038  	goto __12
 11039  __11:
 11040  	c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f
 11041  __12:
 11042  	;
 11043  __10:
 11044  	;
 11045  __8:
 11046  	;
 11047  __6:
 11048  	;
 11049  __4:
 11050  	;
 11051  
 11052  	type1 = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fchartype)
 11053  
 11054  	if !(type1 == ucp_Nd) {
 11055  		goto __13
 11056  	}
 11057  
 11058  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR44
 11059  	goto FAILED
 11060  __13:
 11061  	;
 11062  
 11063  __14:
 11064  
 11065  	if !(type1 != ucp_Nd && X_pcre2_ucp_gentype_8[type1] != ucp_L && c != Tuint32_t('\137')) {
 11066  		goto __17
 11067  	}
 11068  	goto __16
 11069  __17:
 11070  	;
 11071  	ptr++
 11072  __18:
 11073  	if !(ptr < ptrend && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0xc0 == 0x80) {
 11074  		goto __19
 11075  	}
 11076  	ptr++
 11077  	goto __18
 11078  __19:
 11079  	;
 11080  	if !(ptr >= ptrend) {
 11081  		goto __20
 11082  	}
 11083  	goto __16
 11084  __20:
 11085  	;
 11086  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 11087  	if !(c >= 0xc0) {
 11088  		goto __21
 11089  	}
 11090  	if !(c&0x20 == Tuint32_t(0)) {
 11091  		goto __22
 11092  	}
 11093  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 11094  	goto __23
 11095  __22:
 11096  	if !(c&0x10 == Tuint32_t(0)) {
 11097  		goto __24
 11098  	}
 11099  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 11100  	goto __25
 11101  __24:
 11102  	if !(c&0x08 == Tuint32_t(0)) {
 11103  		goto __26
 11104  	}
 11105  	c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f
 11106  	goto __27
 11107  __26:
 11108  	if !(c&0x04 == Tuint32_t(0)) {
 11109  		goto __28
 11110  	}
 11111  	c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f
 11112  	goto __29
 11113  __28:
 11114  	c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f
 11115  __29:
 11116  	;
 11117  __27:
 11118  	;
 11119  __25:
 11120  	;
 11121  __23:
 11122  	;
 11123  __21:
 11124  	;
 11125  
 11126  	type1 = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fchartype)
 11127  	goto __15
 11128  __15:
 11129  	goto __14
 11130  	goto __16
 11131  __16:
 11132  	;
 11133  	goto __3
 11134  __2:
 11135  
 11136  	/* Handle non-group names and group names in non-UTF modes. A group name must
 11137  	   not start with a digit. If either of the others start with a digit it just
 11138  	   won't be recognized. */
 11139  
 11140  	if !(is_group != 0 && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) <= '\071')) {
 11141  		goto __30
 11142  	}
 11143  
 11144  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR44
 11145  	goto FAILED
 11146  __30:
 11147  	;
 11148  
 11149  __31:
 11150  	if !(ptr < ptrend && 1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))))))&Dctype_word != 0) {
 11151  		goto __32
 11152  	}
 11153  
 11154  	ptr++
 11155  	goto __31
 11156  __32:
 11157  	;
 11158  __3:
 11159  	;
 11160  
 11161  	// Check name length
 11162  
 11163  	if !(ptr > *(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr))+uintptr(DMAX_NAME_SIZE)) {
 11164  		goto __33
 11165  	}
 11166  
 11167  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR48
 11168  	goto FAILED
 11169  __33:
 11170  	;
 11171  	*(*Tuint32_t)(unsafe.Pointer(namelenptr)) = Tuint32_t((int64(ptr) - int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr)))) / 1)
 11172  
 11173  	// Subpattern names must not be empty, and their terminator is checked here.
 11174  	// (What follows a verb or alpha assertion name is checked separately.)
 11175  
 11176  	if !(is_group != 0) {
 11177  		goto __34
 11178  	}
 11179  
 11180  	if !(ptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(nameptr))) {
 11181  		goto __35
 11182  	}
 11183  
 11184  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR62 // Subpattern name expected
 11185  	goto FAILED
 11186  __35:
 11187  	;
 11188  	if !(ptr >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) != int32(TPCRE2_UCHAR8(terminator))) {
 11189  		goto __36
 11190  	}
 11191  
 11192  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR42
 11193  	goto FAILED
 11194  __36:
 11195  	;
 11196  	ptr++
 11197  __34:
 11198  	;
 11199  
 11200  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
 11201  	return DTRUE
 11202  
 11203  FAILED:
 11204  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = ptr
 11205  	return DFALSE
 11206  }
 11207  
 11208  // ************************************************
 11209  //
 11210  //          Manage callouts at start of cycle     *
 11211  //
 11212  
 11213  // At the start of a new item in parse_regex() we are able to record the
 11214  // details of the previous item in a prior callout, and also to set up an
 11215  // automatic callout if enabled. Avoid having two adjacent automatic callouts,
 11216  // which would otherwise happen for items such as \Q that contribute nothing to
 11217  // the parsed pattern.
 11218  //
 11219  // Arguments:
 11220  //   ptr              current pattern pointer
 11221  //   pcalloutptr      points to a pointer to previous callout, or NULL
 11222  //   auto_callout     TRUE if auto_callouts are enabled
 11223  //   parsed_pattern   the parsed pattern pointer
 11224  //   cb               compile block
 11225  //
 11226  // Returns: possibly updated parsed_pattern pointer.
 11227  
 11228  func manage_callouts(tls *libc.TLS, ptr TPCRE2_SPTR8, pcalloutptr uintptr, auto_callout TBOOL, parsed_pattern uintptr, cb uintptr) uintptr { /* pcre2_compile.c:2503:17: */
 11229  	var previous_callout uintptr = *(*uintptr)(unsafe.Pointer(pcalloutptr))
 11230  
 11231  	if previous_callout != uintptr(0) {
 11232  		*(*Tuint32_t)(unsafe.Pointer(previous_callout + 2*4)) = Tuint32_t(Tsize_t((int64(ptr)-int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1) - Tsize_t(*(*Tuint32_t)(unsafe.Pointer(previous_callout + 1*4))))
 11233  	}
 11234  
 11235  	if !(auto_callout != 0) {
 11236  		previous_callout = uintptr(0)
 11237  	} else {
 11238  		if previous_callout == uintptr(0) || previous_callout != parsed_pattern-uintptr(4)*4 || *(*Tuint32_t)(unsafe.Pointer(previous_callout + 3*4)) != Tuint32_t(255) {
 11239  			previous_callout = parsed_pattern // Set up new automatic callout
 11240  			parsed_pattern += 4 * uintptr(4)
 11241  			*(*Tuint32_t)(unsafe.Pointer(previous_callout)) = DMETA_CALLOUT_NUMBER
 11242  			*(*Tuint32_t)(unsafe.Pointer(previous_callout + 2*4)) = Tuint32_t(0)
 11243  			*(*Tuint32_t)(unsafe.Pointer(previous_callout + 3*4)) = Tuint32_t(255)
 11244  		}
 11245  		*(*Tuint32_t)(unsafe.Pointer(previous_callout + 1*4)) = Tuint32_t((int64(ptr) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 11246  	}
 11247  
 11248  	*(*uintptr)(unsafe.Pointer(pcalloutptr)) = previous_callout
 11249  	return parsed_pattern
 11250  }
 11251  
 11252  // ************************************************
 11253  //
 11254  //      Parse regex and identify named groups     *
 11255  //
 11256  
 11257  // This function is called first of all. It scans the pattern and does two
 11258  // things: (1) It identifies capturing groups and makes a table of named capturing
 11259  // groups so that information about them is fully available to both the compiling
 11260  // scans. (2) It writes a parsed version of the pattern with comments omitted and
 11261  // escapes processed into the parsed_pattern vector.
 11262  //
 11263  // Arguments:
 11264  //   ptr             points to the start of the pattern
 11265  //   options         compiling dynamic options (may change during the scan)
 11266  //   has_lookbehind  points to a boolean, set TRUE if a lookbehind is found
 11267  //   cb              pointer to the compile data block
 11268  //
 11269  // Returns:   zero on success or a non-zero error code, with the
 11270  //              error offset placed in the cb field
 11271  
 11272  // A structure and some flags for dealing with nested groups.
 11273  
 11274  type Snest_save = struct {
 11275  	Fnest_depth  Tuint16_t
 11276  	Freset_group Tuint16_t
 11277  	Fmax_group   Tuint16_t
 11278  	Fflags       Tuint16_t
 11279  	Foptions     Tuint32_t
 11280  } /* pcre2_compile.c:2555:9 */
 11281  
 11282  // ************************************************
 11283  //
 11284  //      Parse regex and identify named groups     *
 11285  //
 11286  
 11287  // This function is called first of all. It scans the pattern and does two
 11288  // things: (1) It identifies capturing groups and makes a table of named capturing
 11289  // groups so that information about them is fully available to both the compiling
 11290  // scans. (2) It writes a parsed version of the pattern with comments omitted and
 11291  // escapes processed into the parsed_pattern vector.
 11292  //
 11293  // Arguments:
 11294  //   ptr             points to the start of the pattern
 11295  //   options         compiling dynamic options (may change during the scan)
 11296  //   has_lookbehind  points to a boolean, set TRUE if a lookbehind is found
 11297  //   cb              pointer to the compile data block
 11298  //
 11299  // Returns:   zero on success or a non-zero error code, with the
 11300  //              error offset placed in the cb field
 11301  
 11302  // A structure and some flags for dealing with nested groups.
 11303  
 11304  type Tnest_save = Snest_save /* pcre2_compile.c:2561:3 */
 11305  
 11306  // Only in 32-bit mode can there be literals > META_END. A macro encapsulates
 11307  // the storing of literal values in the main parsed pattern, where they can always
 11308  // be quantified.
 11309  
 11310  // Here's the actual function.
 11311  
 11312  func parse_regex(tls *libc.TLS, ptr TPCRE2_SPTR8, options Tuint32_t, has_lookbehind uintptr, cb uintptr) int32 { /* pcre2_compile.c:2598:12: */
 11313  	bp := tls.Alloc(104)
 11314  	defer tls.Free(104)
 11315  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) = ptr
 11316  
 11317  	// var c Tuint32_t at bp+16, 4
 11318  
 11319  	var delimiter Tuint32_t
 11320  	// var namelen Tuint32_t at bp+72, 4
 11321  
 11322  	var class_range_state Tuint32_t
 11323  	var verblengthptr uintptr // Value avoids compiler warning
 11324  	var verbstartptr uintptr
 11325  	// var previous_callout uintptr at bp, 8
 11326  
 11327  	var parsed_pattern uintptr
 11328  	var parsed_pattern_end uintptr
 11329  	var meta_quantifier Tuint32_t
 11330  	var add_after_mark Tuint32_t
 11331  	var extra_options Tuint32_t
 11332  	var nest_depth Tuint16_t
 11333  	var after_manual_callout int32
 11334  	var expect_cond_assert int32
 11335  	// var errorcode int32 at bp+20, 4
 11336  
 11337  	var escape int32
 11338  	// var i int32 at bp+48, 4
 11339  
 11340  	var inescq TBOOL
 11341  	var inverbname TBOOL
 11342  	var utf TBOOL
 11343  	var auto_callout TBOOL
 11344  	var isdupname TBOOL
 11345  	var negate_class TBOOL
 11346  	var okquantifier TBOOL
 11347  	var thisptr TPCRE2_SPTR8
 11348  	// var name TPCRE2_SPTR8 at bp+64, 8
 11349  
 11350  	var ptrend TPCRE2_SPTR8
 11351  	var verbnamestart TPCRE2_SPTR8 // Value avoids compiler warning
 11352  	var ng uintptr
 11353  	var top_nest uintptr
 11354  	var end_nests uintptr
 11355  	var verbnamelength Tsize_t
 11356  	var ok TBOOL
 11357  	// var negated TBOOL at bp+32, 4
 11358  
 11359  	// var ptype Tuint16_t at bp+36, 2
 11360  
 11361  	// var pdata Tuint16_t at bp+38, 2
 11362  
 11363  	// var p TPCRE2_SPTR8 at bp+40, 8
 11364  
 11365  	var p1 uintptr
 11366  	var ptype1 int32
 11367  	var pvalue int32
 11368  	var posix_negate TBOOL
 11369  	var posix_class int32
 11370  	// var negated1 TBOOL at bp+84, 4
 11371  
 11372  	// var ptype2 Tuint16_t at bp+88, 2
 11373  
 11374  	// var pdata1 Tuint16_t at bp+90, 2
 11375  
 11376  	var char_is_literal TBOOL
 11377  	var meta Tuint32_t
 11378  	var vn uintptr
 11379  	var hyphenok TBOOL
 11380  	var oldoptions Tuint32_t
 11381  	var calloutlength Tsize_t
 11382  	var startptr TPCRE2_SPTR8
 11383  	var n int32
 11384  	var ge Tuint32_t
 11385  	// var major int32 at bp+100, 4
 11386  
 11387  	var minor int32
 11388  	var was_r_ampersand TBOOL
 11389  	var newsize Tuint32_t
 11390  	var newspace uintptr
 11391  	var prev_expect_cond_assert int32
 11392  	// var min_repeat Tuint32_t at bp+76, 4
 11393  
 11394  	// var max_repeat Tuint32_t at bp+80, 4
 11395  
 11396  	// var set Tuint32_t at bp+92, 4
 11397  
 11398  	// var unset Tuint32_t at bp+96, 4
 11399  
 11400  	var optset uintptr
 11401  	var terminator Tuint32_t
 11402  	var prev_meta_quantifier Tuint32_t
 11403  	var prev_okquantifier TBOOL
 11404  	// var tempptr TPCRE2_SPTR8 at bp+24, 8
 11405  
 11406  	// var offset Tsize_t at bp+56, 8
 11407  	verblengthptr = uintptr(0)
 11408  	verbstartptr = uintptr(0)
 11409  	*(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) = uintptr(0)
 11410  	parsed_pattern = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fparsed_pattern
 11411  	parsed_pattern_end = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fparsed_pattern_end
 11412  	meta_quantifier = Tuint32_t(0)
 11413  	add_after_mark = Tuint32_t(0)
 11414  	extra_options = (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options
 11415  	nest_depth = Tuint16_t(0)
 11416  	after_manual_callout = 0
 11417  	expect_cond_assert = 0
 11418  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = 0
 11419  	inescq = DFALSE
 11420  	inverbname = DFALSE
 11421  	utf = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0))
 11422  	auto_callout = libc.Bool32(options&DPCRE2_AUTO_CALLOUT != Tuint32_t(0))
 11423  	okquantifier = DFALSE
 11424  	ptrend = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern
 11425  	verbnamestart = uintptr(0)
 11426  
 11427  	// Insert leading items for word and line matching (features provided for the
 11428  	// benefit of pcre2grep).
 11429  
 11430  	if !(extra_options&DPCRE2_EXTRA_MATCH_LINE != Tuint32_t(0)) {
 11431  		goto __1
 11432  	}
 11433  
 11434  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CIRCUMFLEX
 11435  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 11436  	goto __2
 11437  __1:
 11438  	if !(extra_options&DPCRE2_EXTRA_MATCH_WORD != Tuint32_t(0)) {
 11439  		goto __3
 11440  	}
 11441  
 11442  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_b
 11443  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 11444  __3:
 11445  	;
 11446  __2:
 11447  	;
 11448  
 11449  	// If the pattern is actually a literal string, process it separately to avoid
 11450  	// cluttering up the main loop.
 11451  
 11452  	if !(options&DPCRE2_LITERAL != Tuint32_t(0)) {
 11453  		goto __4
 11454  	}
 11455  
 11456  __5:
 11457  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) {
 11458  		goto __6
 11459  	}
 11460  
 11461  	if !(parsed_pattern >= parsed_pattern_end) {
 11462  		goto __7
 11463  	}
 11464  
 11465  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR63 // Internal error (parsed pattern overflow)
 11466  	goto FAILED
 11467  __7:
 11468  	;
 11469  	thisptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))
 11470  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1))))
 11471  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) {
 11472  		goto __8
 11473  	}
 11474  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) {
 11475  		goto __9
 11476  	}
 11477  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f
 11478  	goto __10
 11479  __9:
 11480  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) {
 11481  		goto __11
 11482  	}
 11483  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f
 11484  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2)
 11485  	goto __12
 11486  __11:
 11487  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) {
 11488  		goto __13
 11489  	}
 11490  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f
 11491  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3)
 11492  	goto __14
 11493  __13:
 11494  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) {
 11495  		goto __15
 11496  	}
 11497  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f
 11498  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4)
 11499  	goto __16
 11500  __15:
 11501  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f
 11502  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5)
 11503  __16:
 11504  	;
 11505  __14:
 11506  	;
 11507  __12:
 11508  	;
 11509  __10:
 11510  	;
 11511  __8:
 11512  	;
 11513  
 11514  	if !(auto_callout != 0) {
 11515  		goto __17
 11516  	}
 11517  	parsed_pattern = manage_callouts(tls, thisptr, bp,
 11518  		auto_callout, parsed_pattern, cb)
 11519  __17:
 11520  	;
 11521  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 11522  	okquantifier = DTRUE
 11523  
 11524  	goto __5
 11525  __6:
 11526  	;
 11527  	goto PARSED_END
 11528  __4:
 11529  	;
 11530  
 11531  	// Process a real regex which may contain meta-characters.
 11532  
 11533  	top_nest = uintptr(0)
 11534  	end_nests = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size)
 11535  
 11536  	// The size of the nest_save structure might not be a factor of the size of the
 11537  	// workspace. Therefore we must round down end_nests so as to correctly avoid
 11538  	// creating a nest_save that spans the end of the workspace.
 11539  
 11540  	end_nests = end_nests - uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size*Tsize_t(unsafe.Sizeof(TPCRE2_UCHAR8(0)))%Tsize_t(unsafe.Sizeof(Tnest_save{})))
 11541  
 11542  	// PCRE2_EXTENDED_MORE implies PCRE2_EXTENDED
 11543  
 11544  	if !(options&DPCRE2_EXTENDED_MORE != Tuint32_t(0)) {
 11545  		goto __18
 11546  	}
 11547  	options = options | DPCRE2_EXTENDED
 11548  __18:
 11549  	;
 11550  
 11551  	// Now scan the pattern
 11552  
 11553  __19:
 11554  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) {
 11555  		goto __20
 11556  	}
 11557  
 11558  	if !(parsed_pattern >= parsed_pattern_end) {
 11559  		goto __21
 11560  	}
 11561  
 11562  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR63 // Internal error (parsed pattern overflow)
 11563  	goto FAILED
 11564  __21:
 11565  	;
 11566  
 11567  	if !(Tuint32_t(nest_depth) > (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fparens_nest_limit) {
 11568  		goto __22
 11569  	}
 11570  
 11571  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR19
 11572  	goto FAILED // Parentheses too deeply nested
 11573  __22:
 11574  	;
 11575  
 11576  	// Get next input character, save its position for callout handling.
 11577  
 11578  	thisptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))
 11579  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1))))
 11580  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) {
 11581  		goto __23
 11582  	}
 11583  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) {
 11584  		goto __24
 11585  	}
 11586  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f
 11587  	goto __25
 11588  __24:
 11589  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) {
 11590  		goto __26
 11591  	}
 11592  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f
 11593  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2)
 11594  	goto __27
 11595  __26:
 11596  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) {
 11597  		goto __28
 11598  	}
 11599  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f
 11600  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3)
 11601  	goto __29
 11602  __28:
 11603  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) {
 11604  		goto __30
 11605  	}
 11606  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f
 11607  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4)
 11608  	goto __31
 11609  __30:
 11610  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f
 11611  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5)
 11612  __31:
 11613  	;
 11614  __29:
 11615  	;
 11616  __27:
 11617  	;
 11618  __25:
 11619  	;
 11620  __23:
 11621  	;
 11622  
 11623  	// Copy quoted literals until \E, allowing for the possibility of automatic
 11624  	//   callouts, except when processing a (*VERB) "name".
 11625  
 11626  	if !(inescq != 0) {
 11627  		goto __32
 11628  	}
 11629  
 11630  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\134') && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\105') {
 11631  		goto __33
 11632  	}
 11633  
 11634  	inescq = DFALSE
 11635  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ // Skip E
 11636  	goto __34
 11637  __33:
 11638  
 11639  	if !(expect_cond_assert > 0) {
 11640  		goto __35
 11641  	} /* A literal is not allowed if we are */
 11642  	// expecting a conditional assertion,
 11643  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // but an empty \Q\E sequence is OK.
 11644  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR28
 11645  	goto FAILED
 11646  __35:
 11647  	;
 11648  	if !(inverbname != 0) {
 11649  		goto __36
 11650  	}
 11651  	// Don't use PARSED_LITERAL() because it
 11652  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 11653  	goto __37
 11654  __36:
 11655  
 11656  	if !(libc.PostDecInt32(&after_manual_callout, 1) <= 0) {
 11657  		goto __38
 11658  	}
 11659  	parsed_pattern = manage_callouts(tls, thisptr, bp,
 11660  		auto_callout, parsed_pattern, cb)
 11661  __38:
 11662  	;
 11663  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 11664  	okquantifier = DTRUE
 11665  
 11666  __37:
 11667  	;
 11668  	meta_quantifier = Tuint32_t(0)
 11669  __34:
 11670  	;
 11671  	goto __19 // Next character
 11672  __32:
 11673  	;
 11674  
 11675  	// If we are processing the "name" part of a (*VERB:NAME) item, all
 11676  	//   characters up to the closing parenthesis are literals except when
 11677  	//   PCRE2_ALT_VERBNAMES is set. That causes backslash interpretation, but only \Q
 11678  	//   and \E and escaped characters are allowed (no character types such as \d). If
 11679  	//   PCRE2_EXTENDED is also set, we must ignore white space and # comments. Do
 11680  	//   this by not entering the special (*VERB:NAME) processing - they are then
 11681  	//   picked up below. Note that c is a character, not a code unit, so we must not
 11682  	//   use MAX_255 to test its size because MAX_255 tests code units and is assumed
 11683  	//   TRUE in 8-bit mode.
 11684  
 11685  	if !(inverbname != 0 && (options&(DPCRE2_EXTENDED|DPCRE2_ALT_VERBNAMES) != DPCRE2_EXTENDED|DPCRE2_ALT_VERBNAMES || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) > Tuint32_t(255) && *(*Tuint32_t)(unsafe.Pointer(bp + 16))|Tuint32_t(1) != Tuint32_t(0x200f) && *(*Tuint32_t)(unsafe.Pointer(bp + 16))|Tuint32_t(1) != Tuint32_t(0x2029) || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) < Tuint32_t(256) && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\043') && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 16))))))&Dctype_space == 0 &&
 11686  
 11687  		*(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t(uint8('\x85')))) {
 11688  		goto __39
 11689  	}
 11690  
 11691  	switch *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) {
 11692  	default:
 11693  		goto __41
 11694  
 11695  	case Tuint32_t('\051'):
 11696  		goto __42
 11697  
 11698  	case Tuint32_t('\134'):
 11699  		goto __43
 11700  	}
 11701  	goto __40
 11702  
 11703  __41: // Don't use PARSED_LITERAL() because it
 11704  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 11705  	goto __40
 11706  
 11707  __42:
 11708  	inverbname = DFALSE
 11709  	// This is the length in characters
 11710  	verbnamelength = Tsize_t((int64(parsed_pattern)-int64(verblengthptr))/4 - int64(1))
 11711  	// But the limit on the length is in code units
 11712  	if !((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))-int64(verbnamestart))/1-int64(1) > int64(int32(uint32(1)<<8-uint32(1)))) {
 11713  		goto __44
 11714  	}
 11715  
 11716  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))--
 11717  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR76
 11718  	goto FAILED
 11719  __44:
 11720  	;
 11721  	*(*Tuint32_t)(unsafe.Pointer(verblengthptr)) = Tuint32_t(verbnamelength)
 11722  
 11723  	// If this name was on a verb such as (*ACCEPT) which does not continue,
 11724  	//       a (*MARK) was generated for the name. We now add the original verb as the
 11725  	//       next item.
 11726  
 11727  	if !(add_after_mark != Tuint32_t(0)) {
 11728  		goto __45
 11729  	}
 11730  
 11731  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = add_after_mark
 11732  	add_after_mark = Tuint32_t(0)
 11733  __45:
 11734  	;
 11735  	goto __40
 11736  
 11737  __43:
 11738  	if !(options&DPCRE2_ALT_VERBNAMES != Tuint32_t(0)) {
 11739  		goto __46
 11740  	}
 11741  
 11742  	escape = X_pcre2_check_escape_8(tls, bp+8, ptrend, bp+16, bp+20, options,
 11743  		(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options, DFALSE, cb)
 11744  	if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) {
 11745  		goto __48
 11746  	}
 11747  	goto FAILED
 11748  __48:
 11749  	;
 11750  	goto __47
 11751  __46:
 11752  	escape = 0
 11753  __47:
 11754  	; // Treat all as literal
 11755  
 11756  	switch escape {
 11757  	case 0:
 11758  		goto __50
 11759  
 11760  	case ESC_Q:
 11761  		goto __51
 11762  
 11763  	case ESC_E:
 11764  		goto __52
 11765  
 11766  	default:
 11767  		goto __53
 11768  	}
 11769  	goto __49
 11770  
 11771  __50: // Don't use PARSED_LITERAL() because it
 11772  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 11773  	goto __49
 11774  
 11775  __51:
 11776  	inescq = DTRUE
 11777  	goto __49
 11778  
 11779  __52: // Ignore
 11780  	goto __49
 11781  
 11782  __53:
 11783  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR40 // Invalid in verb name
 11784  	goto FAILED
 11785  __49:
 11786  	;
 11787  __40:
 11788  	;
 11789  	goto __19 // Next character in pattern
 11790  __39:
 11791  	;
 11792  
 11793  	// Not a verb name character. At this point we must process everything that
 11794  	//   must not change the quantification state. This is mainly comments, but we
 11795  	//   handle \Q and \E here as well, so that an item such as A\Q\E+ is treated as
 11796  	//   A+, as in Perl. An isolated \E is ignored.
 11797  
 11798  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\134') && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) {
 11799  		goto __54
 11800  	}
 11801  
 11802  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\121' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\105') {
 11803  		goto __55
 11804  	}
 11805  
 11806  	inescq = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\121')
 11807  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 11808  	goto __19
 11809  __55:
 11810  	;
 11811  __54:
 11812  	;
 11813  
 11814  	// Skip over whitespace and # comments in extended mode. Note that c is a
 11815  	//   character, not a code unit, so we must not use MAX_255 to test its size
 11816  	//   because MAX_255 tests code units and is assumed TRUE in 8-bit mode. The
 11817  	//   whitespace characters are those designated as "Pattern White Space" by
 11818  	//   Unicode, which are the isspace() characters plus CHAR_NEL (newline), which is
 11819  	//   U+0085 in Unicode, plus U+200E, U+200F, U+2028, and U+2029. These are a
 11820  	//   subset of space characters that match \h and \v.
 11821  
 11822  	if !(options&DPCRE2_EXTENDED != Tuint32_t(0)) {
 11823  		goto __56
 11824  	}
 11825  
 11826  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 16))))))&Dctype_space != 0) {
 11827  		goto __57
 11828  	}
 11829  	goto __19
 11830  __57:
 11831  	;
 11832  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t(uint8('\x85')) || *(*Tuint32_t)(unsafe.Pointer(bp + 16))|Tuint32_t(1) == Tuint32_t(0x200f) || *(*Tuint32_t)(unsafe.Pointer(bp + 16))|Tuint32_t(1) == Tuint32_t(0x2029)) {
 11833  		goto __58
 11834  	}
 11835  	goto __19
 11836  __58:
 11837  	;
 11838  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\043')) {
 11839  		goto __59
 11840  	}
 11841  
 11842  __60:
 11843  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) {
 11844  		goto __61
 11845  	}
 11846  
 11847  	if !(func() int32 {
 11848  		if (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 11849  			return libc.Bool32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern && X_pcre2_is_newline_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnltype, (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern, cb+260, utf) != 0)
 11850  		}
 11851  		return libc.Bool32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) <= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fend_pattern-uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cb + 272))) && ((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cb + 272 + 1)))))
 11852  	}() != 0) {
 11853  		goto __62
 11854  	} /* For non-fixed-length newline cases, */
 11855  	// IS_NEWLINE sets cb->nllen.
 11856  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += TPCRE2_SPTR8((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnllen)
 11857  	goto __61
 11858  __62:
 11859  	;
 11860  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 11861  	if !(utf != 0) {
 11862  		goto __63
 11863  	}
 11864  __64:
 11865  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0xc0 == 0x80) {
 11866  		goto __65
 11867  	}
 11868  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 11869  	goto __64
 11870  __65:
 11871  	;
 11872  __63:
 11873  	;
 11874  	goto __60
 11875  __61:
 11876  	;
 11877  	goto __19 // Next character in pattern
 11878  __59:
 11879  	;
 11880  __56:
 11881  	;
 11882  
 11883  	// Skip over bracketed comments
 11884  
 11885  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\050') && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\077' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\043') {
 11886  		goto __66
 11887  	}
 11888  
 11889  __67:
 11890  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') {
 11891  		goto __68
 11892  	}
 11893  	goto __67
 11894  __68:
 11895  	;
 11896  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 11897  		goto __69
 11898  	}
 11899  
 11900  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR18 // A special error for missing ) in a comment
 11901  	goto FAILED                                                // to make it easier to debug.
 11902  __69:
 11903  	;
 11904  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 11905  	goto __19 // Next character in pattern
 11906  __66:
 11907  	;
 11908  
 11909  	// If the next item is not a quantifier, fill in length of any previous
 11910  	//   callout and create an auto callout if required.
 11911  
 11912  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\052') && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\053') && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\077') && (*(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\173') || func() bool {
 11913  		*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))
 11914  		return !(read_repeat_counts(tls, bp+24, ptrend, uintptr(0), uintptr(0), bp+20) != 0)
 11915  	}())) {
 11916  		goto __70
 11917  	}
 11918  
 11919  	if !(libc.PostDecInt32(&after_manual_callout, 1) <= 0) {
 11920  		goto __71
 11921  	}
 11922  	parsed_pattern = manage_callouts(tls, thisptr, bp, auto_callout,
 11923  		parsed_pattern, cb)
 11924  __71:
 11925  	;
 11926  __70:
 11927  	;
 11928  
 11929  	// If expect_cond_assert is 2, we have just passed (?( and are expecting an
 11930  	//   assertion, possibly preceded by a callout. If the value is 1, we have just
 11931  	//   had the callout and expect an assertion. There must be at least 3 more
 11932  	//   characters in all cases. When expect_cond_assert is 2, we know that the
 11933  	//   current character is an opening parenthesis, as otherwise we wouldn't be
 11934  	//   here. However, when it is 1, we need to check, and it's easiest just to check
 11935  	//   always. Note that expect_cond_assert may be negative, since all callouts just
 11936  	//   decrement it.
 11937  
 11938  	if !(expect_cond_assert > 0) {
 11939  		goto __72
 11940  	}
 11941  
 11942  	ok = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\050') && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(3) && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\077' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\052'))
 11943  	if !(ok != 0) {
 11944  		goto __73
 11945  	}
 11946  
 11947  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\052') {
 11948  		goto __74
 11949  	} /* New alpha assertion format, possibly */
 11950  
 11951  	ok = libc.Bool32(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))))))&Dctype_lcletter != 0)
 11952  	goto __75
 11953  __74:
 11954  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) + 1))) {
 11955  	case '\103':
 11956  		goto __77
 11957  
 11958  	case '\075':
 11959  		goto __78
 11960  	case '\041':
 11961  		goto __79
 11962  
 11963  	case '\074':
 11964  		goto __80
 11965  
 11966  	default:
 11967  		goto __81
 11968  	}
 11969  	goto __76 /* Traditional symbolic format */
 11970  
 11971  __77:
 11972  	ok = libc.Bool32(expect_cond_assert == 2)
 11973  	goto __76
 11974  
 11975  __78:
 11976  __79:
 11977  	goto __76
 11978  
 11979  __80:
 11980  	ok = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2))) == '\075' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2))) == '\041')
 11981  	goto __76
 11982  
 11983  __81:
 11984  	ok = DFALSE
 11985  __76:
 11986  	;
 11987  __75:
 11988  	;
 11989  __73:
 11990  	;
 11991  
 11992  	if !!(ok != 0) {
 11993  		goto __82
 11994  	}
 11995  
 11996  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Adjust error offset
 11997  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR28
 11998  	goto FAILED
 11999  __82:
 12000  	;
 12001  __72:
 12002  	;
 12003  
 12004  	// Remember whether we are expecting a conditional assertion, and set the
 12005  	//   default for this item.
 12006  
 12007  	prev_expect_cond_assert = expect_cond_assert
 12008  	expect_cond_assert = 0
 12009  
 12010  	// Remember quantification status for the previous significant item, then set
 12011  	//   default for this item.
 12012  
 12013  	prev_okquantifier = okquantifier
 12014  	prev_meta_quantifier = meta_quantifier
 12015  	okquantifier = DFALSE
 12016  	meta_quantifier = Tuint32_t(0)
 12017  
 12018  	// If the previous significant item was a quantifier, adjust the parsed code
 12019  	//   if there is a following modifier. The base meta value is always followed by
 12020  	//   the PLUS and QUERY values, in that order. We do this here rather than after
 12021  	//   reading a quantifier so that intervening comments and /x whitespace can be
 12022  	//   ignored without having to replicate code.
 12023  
 12024  	if !(prev_meta_quantifier != Tuint32_t(0) && (*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\077') || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\053'))) {
 12025  		goto __83
 12026  	}
 12027  
 12028  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + uintptr(func() int32 {
 12029  		if prev_meta_quantifier == DMETA_MINMAX {
 12030  			return -3
 12031  		}
 12032  		return -1
 12033  	}())*4)) = prev_meta_quantifier + func() uint32 {
 12034  		if *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\077') {
 12035  			return 0x00020000
 12036  		}
 12037  		return 0x00010000
 12038  	}()
 12039  	goto __19 // Next character in pattern
 12040  __83:
 12041  	;
 12042  
 12043  	// Process the next item in the main part of a pattern.
 12044  
 12045  	switch *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) {
 12046  	default:
 12047  		goto __85
 12048  
 12049  	// ---- Escape sequence ----
 12050  
 12051  	case Tuint32_t('\134'):
 12052  		goto __86 // End escape sequence processing
 12053  
 12054  	// ---- Single-character special items ----
 12055  
 12056  	case Tuint32_t('\136'):
 12057  		goto __87
 12058  
 12059  	case Tuint32_t('\044'):
 12060  		goto __88
 12061  
 12062  	case Tuint32_t('\056'):
 12063  		goto __89
 12064  
 12065  	// ---- Single-character quantifiers ----
 12066  
 12067  	case Tuint32_t('\052'):
 12068  		goto __90
 12069  
 12070  	case Tuint32_t('\053'):
 12071  		goto __91
 12072  
 12073  	case Tuint32_t('\077'):
 12074  		goto __92
 12075  
 12076  	// ---- Potential {n,m} quantifier ----
 12077  
 12078  	case Tuint32_t('\173'):
 12079  		goto __93
 12080  
 12081  	// ---- Character class ----
 12082  
 12083  	case Tuint32_t('\133'):
 12084  		goto __94 // End of character class
 12085  
 12086  	// ---- Opening parenthesis ----
 12087  
 12088  	case Tuint32_t('\050'):
 12089  		goto __95 // End of ( handling
 12090  
 12091  	// ---- Branch terminators ----
 12092  
 12093  	// Alternation: reset the capture count if we are in a (?| group.
 12094  
 12095  	case Tuint32_t('\174'):
 12096  		goto __96
 12097  
 12098  	// End of group; reset the capture count to the maximum if we are in a (?|
 12099  	//     group and/or reset the options that are tracked during parsing. Disallow
 12100  	//     quantifier for a condition that is an assertion.
 12101  
 12102  	case Tuint32_t('\051'):
 12103  		goto __97
 12104  	}
 12105  	goto __84
 12106  
 12107  __85: // Non-special character
 12108  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 12109  	okquantifier = DTRUE
 12110  
 12111  	goto __84
 12112  
 12113  	// ---- Escape sequence ----
 12114  
 12115  __86:
 12116  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* tempptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))
 12117  	escape = X_pcre2_check_escape_8(tls, bp+8, ptrend, bp+16, bp+20, options,
 12118  		(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options, DFALSE, cb)
 12119  	if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) {
 12120  		goto __98
 12121  	}
 12122  
 12123  ESCAPE_FAILED:
 12124  	if !(extra_options&DPCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL == Tuint32_t(0)) {
 12125  		goto __99
 12126  	}
 12127  	goto FAILED
 12128  __99:
 12129  	;
 12130  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* tempptr */))
 12131  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 12132  		goto __100
 12133  	}
 12134  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t('\134')
 12135  	goto __101
 12136  __100:
 12137  
 12138  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1))))
 12139  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) {
 12140  		goto __102
 12141  	}
 12142  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) {
 12143  		goto __103
 12144  	}
 12145  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f
 12146  	goto __104
 12147  __103:
 12148  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) {
 12149  		goto __105
 12150  	}
 12151  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f
 12152  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2)
 12153  	goto __106
 12154  __105:
 12155  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) {
 12156  		goto __107
 12157  	}
 12158  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f
 12159  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3)
 12160  	goto __108
 12161  __107:
 12162  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) {
 12163  		goto __109
 12164  	}
 12165  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f
 12166  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4)
 12167  	goto __110
 12168  __109:
 12169  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f
 12170  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5)
 12171  __110:
 12172  	;
 12173  __108:
 12174  	;
 12175  __106:
 12176  	;
 12177  __104:
 12178  	;
 12179  __102:
 12180  	;
 12181  
 12182  	// Get character value, increment pointer
 12183  __101:
 12184  	;
 12185  	escape = 0 // Treat as literal character
 12186  __98:
 12187  	;
 12188  
 12189  	// The escape was a data escape or literal character.
 12190  
 12191  	if !(escape == 0) {
 12192  		goto __111
 12193  	}
 12194  
 12195  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 12196  	okquantifier = DTRUE
 12197  
 12198  	goto __112
 12199  __111:
 12200  	if !(escape < 0) {
 12201  		goto __113
 12202  	}
 12203  
 12204  	*(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))-int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1 - int64(1))
 12205  	escape = -escape
 12206  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_BACKREF | Tuint32_t(escape)
 12207  	if !(escape < 10) {
 12208  		goto __115
 12209  	}
 12210  
 12211  	if !(*(*Tsize_t)(unsafe.Pointer(cb + 88 + uintptr(escape)*8)) == libc.CplUint64(uint64(0))) {
 12212  		goto __117
 12213  	}
 12214  	*(*Tsize_t)(unsafe.Pointer(cb + 88 + uintptr(escape)*8)) = *(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */))
 12215  __117:
 12216  	;
 12217  	goto __116
 12218  __115:
 12219  
 12220  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 12221  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 12222  
 12223  __116:
 12224  	;
 12225  	okquantifier = DTRUE
 12226  	goto __114
 12227  __113:
 12228  	switch escape {
 12229  	case ESC_C:
 12230  		goto __119
 12231  
 12232  	case ESC_X:
 12233  		goto __120
 12234  	case ESC_H:
 12235  		goto __121
 12236  	case ESC_h:
 12237  		goto __122
 12238  	case ESC_N:
 12239  		goto __123
 12240  	case ESC_R:
 12241  		goto __124
 12242  	case ESC_V:
 12243  		goto __125
 12244  	case ESC_v:
 12245  		goto __126
 12246  
 12247  	default:
 12248  		goto __127
 12249  
 12250  	// Escapes that change in UCP mode. Note that PCRE2_UCP will never be set
 12251  	//       without Unicode support because it is checked when pcre2_compile() is
 12252  	//       called.
 12253  
 12254  	case ESC_d:
 12255  		goto __128
 12256  	case ESC_D:
 12257  		goto __129
 12258  	case ESC_s:
 12259  		goto __130
 12260  	case ESC_S:
 12261  		goto __131
 12262  	case ESC_w:
 12263  		goto __132
 12264  	case ESC_W:
 12265  		goto __133
 12266  
 12267  	// Unicode property matching
 12268  
 12269  	case ESC_P:
 12270  		goto __134
 12271  	case ESC_p:
 12272  		goto __135 // End \P and \p
 12273  
 12274  	// When \g is used with quotes or angle brackets as delimiters, it is a
 12275  	//       numerical or named subroutine call, and control comes here. When used
 12276  	//       with brace delimiters it is a numberical back reference and does not come
 12277  	//       here because check_escape() returns it directly as a reference. \k is
 12278  	//       always a named back reference.
 12279  
 12280  	case ESC_g:
 12281  		goto __136
 12282  	case ESC_k:
 12283  		goto __137
 12284  	}
 12285  	goto __118
 12286  
 12287  __119:
 12288  	if !(options&DPCRE2_NEVER_BACKSLASH_C != Tuint32_t(0)) {
 12289  		goto __138
 12290  	}
 12291  
 12292  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR83
 12293  	goto ESCAPE_FAILED
 12294  __138:
 12295  	;
 12296  	okquantifier = DTRUE
 12297  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12298  	goto __118
 12299  
 12300  __120:
 12301  __121:
 12302  __122:
 12303  __123:
 12304  __124:
 12305  __125:
 12306  __126:
 12307  	okquantifier = DTRUE
 12308  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12309  	goto __118
 12310  
 12311  __127: // \A, \B, \b, \G, \K, \Z, \z cannot be quantified.
 12312  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12313  	goto __118
 12314  
 12315  	// Escapes that change in UCP mode. Note that PCRE2_UCP will never be set
 12316  	//       without Unicode support because it is checked when pcre2_compile() is
 12317  	//       called.
 12318  
 12319  __128:
 12320  __129:
 12321  __130:
 12322  __131:
 12323  __132:
 12324  __133:
 12325  	okquantifier = DTRUE
 12326  	if !(options&DPCRE2_UCP == Tuint32_t(0)) {
 12327  		goto __139
 12328  	}
 12329  
 12330  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12331  	goto __140
 12332  __139:
 12333  
 12334  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 {
 12335  		if escape == ESC_d || escape == ESC_s || escape == ESC_w {
 12336  			return ESC_p
 12337  		}
 12338  		return ESC_P
 12339  	}()
 12340  	switch escape {
 12341  	case ESC_d:
 12342  		goto __142
 12343  	case ESC_D:
 12344  		goto __143
 12345  
 12346  	case ESC_s:
 12347  		goto __144
 12348  	case ESC_S:
 12349  		goto __145
 12350  
 12351  	case ESC_w:
 12352  		goto __146
 12353  	case ESC_W:
 12354  		goto __147
 12355  	}
 12356  	goto __141
 12357  
 12358  __142:
 12359  __143:
 12360  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_PC)<<16 | ucp_Nd)
 12361  	goto __141
 12362  
 12363  __144:
 12364  __145:
 12365  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_SPACE) << 16)
 12366  	goto __141
 12367  
 12368  __146:
 12369  __147:
 12370  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_WORD) << 16)
 12371  	goto __141
 12372  __141:
 12373  	;
 12374  __140:
 12375  	;
 12376  	goto __118
 12377  
 12378  	// Unicode property matching
 12379  
 12380  __134:
 12381  __135:
 12382  
 12383  	*(*Tuint16_t)(unsafe.Pointer(bp + 36 /* ptype */)) = Tuint16_t(0)
 12384  	*(*Tuint16_t)(unsafe.Pointer(bp + 38 /* pdata */)) = Tuint16_t(0)
 12385  	if !!(get_ucp(tls, bp+8, bp+32, bp+36, bp+38, bp+20, cb) != 0) {
 12386  		goto __148
 12387  	}
 12388  	goto ESCAPE_FAILED
 12389  __148:
 12390  	;
 12391  	if !(*(*TBOOL)(unsafe.Pointer(bp + 32)) != 0) {
 12392  		goto __149
 12393  	}
 12394  	if escape == ESC_P {
 12395  		escape = ESC_p
 12396  	} else {
 12397  		escape = ESC_P
 12398  	}
 12399  __149:
 12400  	;
 12401  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 12402  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(*(*Tuint16_t)(unsafe.Pointer(bp + 36)))<<16 | int32(*(*Tuint16_t)(unsafe.Pointer(bp + 38))))
 12403  	okquantifier = DTRUE
 12404  
 12405  	goto __118 // End \P and \p
 12406  
 12407  	// When \g is used with quotes or angle brackets as delimiters, it is a
 12408  	//       numerical or named subroutine call, and control comes here. When used
 12409  	//       with brace delimiters it is a numberical back reference and does not come
 12410  	//       here because check_escape() returns it directly as a reference. \k is
 12411  	//       always a named back reference.
 12412  
 12413  __136:
 12414  __137:
 12415  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\173' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\074' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\047') {
 12416  		goto __150
 12417  	}
 12418  
 12419  	if escape == ESC_g {
 12420  		*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR57
 12421  	} else {
 12422  		*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR69
 12423  	}
 12424  	goto ESCAPE_FAILED
 12425  __150:
 12426  	;
 12427  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\074' {
 12428  		terminator = uint32('\076')
 12429  	} else {
 12430  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\047' {
 12431  			terminator = uint32('\047')
 12432  		} else {
 12433  			terminator = uint32('\175')
 12434  		}
 12435  	}
 12436  
 12437  	// For a non-braced \g, check for a numerical recursion.
 12438  
 12439  	if !(escape == ESC_g && terminator != Tuint32_t('\175')) {
 12440  		goto __151
 12441  	}
 12442  
 12443  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40 /* p */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + uintptr(1)
 12444  
 12445  	if !(read_number(tls, bp+40, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+48,
 12446  		bp+20) != 0) {
 12447  		goto __152
 12448  	}
 12449  
 12450  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40)) >= ptrend || Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40))))) != terminator) {
 12451  		goto __153
 12452  	}
 12453  
 12454  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR57
 12455  	goto ESCAPE_FAILED
 12456  __153:
 12457  	;
 12458  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 40 /* p */))
 12459  	goto SET_RECURSION
 12460  __152:
 12461  	;
 12462  	if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) {
 12463  		goto __154
 12464  	}
 12465  	goto ESCAPE_FAILED
 12466  __154:
 12467  	;
 12468  __151:
 12469  	;
 12470  
 12471  	// Not a numerical recursion
 12472  
 12473  	if !!(read_name(tls, bp+8, ptrend, utf, terminator, bp+56, bp+64, bp+72,
 12474  		bp+20, cb) != 0) {
 12475  		goto __155
 12476  	}
 12477  	goto ESCAPE_FAILED
 12478  __155:
 12479  	;
 12480  
 12481  	// \k and \g when used with braces are back references, whereas \g used
 12482  	//       with quotes or angle brackets is a recursion
 12483  
 12484  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12485  		if escape == ESC_k || terminator == Tuint32_t('\175') {
 12486  			return DMETA_BACKREF_BYNAME
 12487  		}
 12488  		return DMETA_RECURSE_BYNAME
 12489  	}()
 12490  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */))
 12491  
 12492  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 12493  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 12494  
 12495  	okquantifier = DTRUE
 12496  	goto __118 // End special escape processing
 12497  __118:
 12498  	;
 12499  __114:
 12500  	;
 12501  __112:
 12502  	;
 12503  	goto __84 // End escape sequence processing
 12504  
 12505  	// ---- Single-character special items ----
 12506  
 12507  __87:
 12508  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CIRCUMFLEX
 12509  	goto __84
 12510  
 12511  __88:
 12512  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_DOLLAR
 12513  	goto __84
 12514  
 12515  __89:
 12516  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_DOT
 12517  	okquantifier = DTRUE
 12518  	goto __84
 12519  
 12520  	// ---- Single-character quantifiers ----
 12521  
 12522  __90:
 12523  	meta_quantifier = DMETA_ASTERISK
 12524  	goto CHECK_QUANTIFIER
 12525  
 12526  __91:
 12527  	meta_quantifier = DMETA_PLUS
 12528  	goto CHECK_QUANTIFIER
 12529  
 12530  __92:
 12531  	meta_quantifier = DMETA_QUERY
 12532  	goto CHECK_QUANTIFIER
 12533  
 12534  	// ---- Potential {n,m} quantifier ----
 12535  
 12536  __93:
 12537  	if !!(read_repeat_counts(tls, bp+8, ptrend, bp+76, bp+80,
 12538  		bp+20) != 0) {
 12539  		goto __156
 12540  	}
 12541  
 12542  	if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) {
 12543  		goto __157
 12544  	}
 12545  	goto FAILED
 12546  __157:
 12547  	; // Error in quantifier.
 12548  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 12549  	okquantifier = DTRUE
 12550  	// Not a quantifier
 12551  	goto __84 // No more quantifier processing
 12552  __156:
 12553  	;
 12554  	meta_quantifier = DMETA_MINMAX
 12555  	// Fall through
 12556  
 12557  	// ---- Quantifier post-processing ----
 12558  
 12559  	// Check that a quantifier is allowed after the previous item.
 12560  
 12561  CHECK_QUANTIFIER:
 12562  	if !!(prev_okquantifier != 0) {
 12563  		goto __158
 12564  	}
 12565  
 12566  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR9
 12567  	goto FAILED_BACK
 12568  __158:
 12569  	;
 12570  
 12571  	// Most (*VERB)s are not allowed to be quantified, but an ungreedy
 12572  	//     quantifier can be useful for (*ACCEPT) - meaning "succeed on backtrack", a
 12573  	//     sort of negated (*COMMIT). We therefore allow (*ACCEPT) to be quantified by
 12574  	//     wrapping it in non-capturing brackets, but we have to allow for a preceding
 12575  	//     (*MARK) for when (*ACCEPT) has an argument.
 12576  
 12577  	if !(*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) == DMETA_ACCEPT) {
 12578  		goto __159
 12579  	}
 12580  
 12581  	p1 = parsed_pattern - uintptr(1)*4
 12582  __160:
 12583  	if !(p1 >= verbstartptr) {
 12584  		goto __162
 12585  	}
 12586  	*(*Tuint32_t)(unsafe.Pointer(p1 + 1*4)) = *(*Tuint32_t)(unsafe.Pointer(p1))
 12587  	goto __161
 12588  __161:
 12589  	p1 -= 4
 12590  	goto __160
 12591  	goto __162
 12592  __162:
 12593  	;
 12594  	*(*Tuint32_t)(unsafe.Pointer(verbstartptr)) = DMETA_NOCAPTURE
 12595  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + 1*4)) = DMETA_KET
 12596  	parsed_pattern += 4 * uintptr(2)
 12597  __159:
 12598  	;
 12599  
 12600  	// Now we can put the quantifier into the parsed pattern vector. At this
 12601  	//     stage, we have only the basic quantifier. The check for a following + or ?
 12602  	//     modifier happens at the top of the loop, after any intervening comments
 12603  	//     have been removed.
 12604  
 12605  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = meta_quantifier
 12606  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\173')) {
 12607  		goto __163
 12608  	}
 12609  
 12610  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 76 /* min_repeat */))
 12611  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 80 /* max_repeat */))
 12612  __163:
 12613  	;
 12614  	goto __84
 12615  
 12616  	// ---- Character class ----
 12617  
 12618  __94:
 12619  	okquantifier = DTRUE
 12620  
 12621  	// In another (POSIX) regex library, the ugly syntax [[:<:]] and [[:>:]] is
 12622  	//     used for "start of word" and "end of word". As these are otherwise illegal
 12623  	//     sequences, we don't break anything by recognizing them. They are replaced
 12624  	//     by \b(?=\w) and \b(?<=\w) respectively. Sequences like [a[:<:]] are
 12625  	//     erroneous and are handled by the normal code below.
 12626  
 12627  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(6) && (X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ts+597, uint64(6)) == 0 || X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ts+604, uint64(6)) == 0)) {
 12628  		goto __164
 12629  	}
 12630  
 12631  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_b
 12632  
 12633  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2))) == '\074') {
 12634  		goto __165
 12635  	}
 12636  
 12637  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEAD
 12638  	goto __166
 12639  __165:
 12640  
 12641  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKBEHIND
 12642  	*(*TBOOL)(unsafe.Pointer(has_lookbehind)) = DTRUE
 12643  
 12644  	/* The offset is used only for the "non-fixed length" error; this won't
 12645  	   occur here, so just store zero. */
 12646  
 12647  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = uint32(Tsize_t(uint64(0)) >> 32)
 12648  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = uint32(uint64(0) & uint64(0xffffffff))
 12649  
 12650  __166:
 12651  	;
 12652  
 12653  	if !(options&DPCRE2_UCP == Tuint32_t(0)) {
 12654  		goto __167
 12655  	}
 12656  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_w
 12657  	goto __168
 12658  __167:
 12659  
 12660  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_p
 12661  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_WORD) << 16)
 12662  __168:
 12663  	;
 12664  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 12665  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(6)
 12666  	goto __84
 12667  __164:
 12668  	;
 12669  
 12670  	// PCRE supports POSIX class stuff inside a class. Perl gives an error if
 12671  	//     they are encountered at the top level, so we'll do that too.
 12672  
 12673  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\072' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\056' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\075') && check_posix_syntax(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ptrend, bp+24) != 0) {
 12674  		goto __169
 12675  	}
 12676  
 12677  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostDecUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) == '\072' {
 12678  		*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR12
 12679  	} else {
 12680  		*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR13
 12681  	}
 12682  	goto FAILED
 12683  __169:
 12684  	;
 12685  
 12686  	// Process a regular character class. If the first character is '^', set
 12687  	//     the negation flag. If the first few characters (either before or after ^)
 12688  	//     are \Q\E or \E or space or tab in extended-more mode, we skip them too.
 12689  	//     This makes for compatibility with Perl.
 12690  
 12691  	negate_class = DFALSE
 12692  __170:
 12693  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend) {
 12694  		goto __171
 12695  	}
 12696  
 12697  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1))))
 12698  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) {
 12699  		goto __172
 12700  	}
 12701  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) {
 12702  		goto __173
 12703  	}
 12704  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f
 12705  	goto __174
 12706  __173:
 12707  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) {
 12708  		goto __175
 12709  	}
 12710  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f
 12711  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2)
 12712  	goto __176
 12713  __175:
 12714  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) {
 12715  		goto __177
 12716  	}
 12717  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f
 12718  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3)
 12719  	goto __178
 12720  __177:
 12721  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) {
 12722  		goto __179
 12723  	}
 12724  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f
 12725  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4)
 12726  	goto __180
 12727  __179:
 12728  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f
 12729  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5)
 12730  __180:
 12731  	;
 12732  __178:
 12733  	;
 12734  __176:
 12735  	;
 12736  __174:
 12737  	;
 12738  __172:
 12739  	;
 12740  
 12741  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\134')) {
 12742  		goto __181
 12743  	}
 12744  
 12745  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\105') {
 12746  		goto __183
 12747  	}
 12748  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 12749  	goto __184
 12750  __183:
 12751  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(3) && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ts+611, uint64(3)) == 0) {
 12752  		goto __185
 12753  	}
 12754  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3)
 12755  	goto __186
 12756  __185:
 12757  	goto __171
 12758  __186:
 12759  	;
 12760  __184:
 12761  	;
 12762  	goto __182
 12763  __181:
 12764  	if !(options&DPCRE2_EXTENDED_MORE != Tuint32_t(0) && (*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\040') || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\011'))) {
 12765  		goto __187
 12766  	} // Note: just these two
 12767  	goto __170
 12768  	goto __188
 12769  __187:
 12770  	if !(!(negate_class != 0) && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\136')) {
 12771  		goto __189
 12772  	}
 12773  	negate_class = DTRUE
 12774  	goto __190
 12775  __189:
 12776  	goto __171
 12777  __190:
 12778  	;
 12779  __188:
 12780  	;
 12781  __182:
 12782  	;
 12783  	goto __170
 12784  __171:
 12785  	;
 12786  
 12787  	// Now the real contents of the class; c has the first "real" character.
 12788  	//     Empty classes are permitted only if the option is set.
 12789  
 12790  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\135') && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_ALLOW_EMPTY_CLASS != Tuint32_t(0)) {
 12791  		goto __191
 12792  	}
 12793  
 12794  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12795  		if negate_class != 0 {
 12796  			return DMETA_CLASS_EMPTY_NOT
 12797  		}
 12798  		return DMETA_CLASS_EMPTY
 12799  	}()
 12800  	goto __84 // End of class processing
 12801  __191:
 12802  	;
 12803  
 12804  	// Process a non-empty class.
 12805  
 12806  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12807  		if negate_class != 0 {
 12808  			return DMETA_CLASS_NOT
 12809  		}
 12810  		return DMETA_CLASS
 12811  	}()
 12812  	class_range_state = RANGE_NO
 12813  
 12814  	// In an EBCDIC environment, Perl treats alphabetic ranges specially
 12815  	//     because there are holes in the encoding, and simply using the range A-Z
 12816  	//     (for example) would include the characters in the holes. This applies only
 12817  	//     to ranges where both values are literal; [\xC1-\xE9] is different to [A-Z]
 12818  	//     in this respect. In order to accommodate this, we keep track of whether
 12819  	//     character values are literal or not, and a state variable for handling
 12820  	//     ranges.
 12821  
 12822  	// Loop for the contents of the class
 12823  
 12824  __192:
 12825  	char_is_literal = DTRUE
 12826  
 12827  	// Inside \Q...\E everything is literal except \E
 12828  
 12829  	if !(inescq != 0) {
 12830  		goto __195
 12831  	}
 12832  
 12833  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\134') && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\105') {
 12834  		goto __196
 12835  	}
 12836  
 12837  	inescq = DFALSE                                      // Reset literal state
 12838  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++ // Skip the 'E'
 12839  	goto CLASS_CONTINUE
 12840  __196:
 12841  	;
 12842  	goto CLASS_LITERAL
 12843  __195:
 12844  	;
 12845  
 12846  	// Skip over space and tab (only) in extended-more mode.
 12847  
 12848  	if !(options&DPCRE2_EXTENDED_MORE != Tuint32_t(0) && (*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\040') || *(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\011'))) {
 12849  		goto __197
 12850  	}
 12851  	goto CLASS_CONTINUE
 12852  __197:
 12853  	;
 12854  
 12855  	// Handle POSIX class names. Perl allows a negation extension of the
 12856  	//       form [:^name:]. A square bracket that doesn't match the syntax is
 12857  	//       treated as a literal. We also recognize the POSIX constructions
 12858  	//       [.ch.] and [=ch=] ("collating elements") and fault them, as Perl
 12859  	//       5.6 and 5.8 do.
 12860  
 12861  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\133') && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(3) && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\072' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\056' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\075') && check_posix_syntax(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ptrend, bp+24) != 0) {
 12862  		goto __198
 12863  	}
 12864  
 12865  	posix_negate = DFALSE
 12866  
 12867  	// Perl treats a hyphen before a POSIX class as a literal, not the
 12868  	//         start of a range. However, it gives a warning in its warning mode. PCRE
 12869  	//         does not have a warning mode, so we give an error, because this is
 12870  	//         likely an error on the user's part.
 12871  
 12872  	if !(class_range_state == Tuint32_t(1)) {
 12873  		goto __200
 12874  	}
 12875  
 12876  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR50
 12877  	goto FAILED
 12878  __200:
 12879  	;
 12880  
 12881  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072') {
 12882  		goto __201
 12883  	}
 12884  
 12885  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR13
 12886  	goto FAILED_BACK
 12887  __201:
 12888  	;
 12889  
 12890  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) == '\136') {
 12891  		goto __202
 12892  	}
 12893  
 12894  	posix_negate = DTRUE
 12895  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 12896  __202:
 12897  	;
 12898  
 12899  	posix_class = check_posix_name(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), int32((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)))-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1))
 12900  	if !(posix_class < 0) {
 12901  		goto __203
 12902  	}
 12903  
 12904  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR30
 12905  	goto FAILED
 12906  __203:
 12907  	;
 12908  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24)) + uintptr(2)
 12909  
 12910  	// Perl treats a hyphen after a POSIX class as a literal, not the
 12911  	//         start of a range. However, it gives a warning in its warning mode
 12912  	//         unless the hyphen is the last character in the class. PCRE does not
 12913  	//         have a warning mode, so we give an error, because this is likely an
 12914  	//         error on the user's part.
 12915  
 12916  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\055' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\135') {
 12917  		goto __204
 12918  	}
 12919  
 12920  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR50
 12921  	goto FAILED
 12922  __204:
 12923  	;
 12924  
 12925  	// Set "a hyphen is not the start of a range" for the -] case, and also
 12926  	//         in case the POSIX class is followed by \E or \Q\E (possibly repeated -
 12927  	//         fuzzers do that kind of thing) and *then* a hyphen. This causes that
 12928  	//         hyphen to be treated as a literal. I don't think it's worth setting up
 12929  	//         special apparatus to do otherwise.
 12930  
 12931  	class_range_state = RANGE_NO
 12932  
 12933  	// When PCRE2_UCP is set, some of the POSIX classes are converted to
 12934  	//         use Unicode properties \p or \P or, in one case, \h or \H. The
 12935  	//         substitutes table has two values per class, containing the type and
 12936  	//         value of a \p or \P item. The special cases are specified with a
 12937  	//         negative type: a non-zero value causes \h or \H to be used, and a zero
 12938  	//         value falls through to behave like a non-UCP POSIX class.
 12939  
 12940  	if !(options&DPCRE2_UCP != Tuint32_t(0)) {
 12941  		goto __205
 12942  	}
 12943  
 12944  	ptype1 = posix_substitutes[2*posix_class]
 12945  	pvalue = posix_substitutes[2*posix_class+1]
 12946  	if !(ptype1 >= 0) {
 12947  		goto __206
 12948  	}
 12949  
 12950  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 {
 12951  		if posix_negate != 0 {
 12952  			return ESC_P
 12953  		}
 12954  		return ESC_p
 12955  	}()
 12956  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(ptype1<<16 | pvalue)
 12957  	goto CLASS_CONTINUE
 12958  __206:
 12959  	;
 12960  
 12961  	if !(pvalue != 0) {
 12962  		goto __207
 12963  	}
 12964  
 12965  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 {
 12966  		if posix_negate != 0 {
 12967  			return ESC_H
 12968  		}
 12969  		return ESC_h
 12970  	}()
 12971  	goto CLASS_CONTINUE
 12972  __207:
 12973  	;
 12974  
 12975  	// Fall through
 12976  __205:
 12977  	;
 12978  
 12979  	// Non-UCP POSIX class
 12980  
 12981  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12982  		if posix_negate != 0 {
 12983  			return DMETA_POSIX_NEG
 12984  		}
 12985  		return DMETA_POSIX
 12986  	}()
 12987  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(posix_class)
 12988  	goto __199
 12989  __198:
 12990  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\055') && class_range_state >= RANGE_OK_ESCAPED) {
 12991  		goto __208
 12992  	}
 12993  
 12994  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 12995  		if class_range_state == RANGE_OK_LITERAL {
 12996  			return DMETA_RANGE_LITERAL
 12997  		}
 12998  		return DMETA_RANGE_ESCAPED
 12999  	}()
 13000  	class_range_state = Tuint32_t(1) /* RANGE_STARTED */
 13001  	goto __209
 13002  __208:
 13003  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) != Tuint32_t('\134')) {
 13004  		goto __210
 13005  	}
 13006  
 13007  CLASS_LITERAL:
 13008  	if !(class_range_state == Tuint32_t(1)) {
 13009  		goto __212
 13010  	}
 13011  
 13012  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-2)*4))) {
 13013  		goto __214
 13014  	} // Optimize one-char range
 13015  	parsed_pattern -= 4
 13016  	goto __215
 13017  __214:
 13018  	if !(*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-2)*4)) > *(*Tuint32_t)(unsafe.Pointer(bp + 16))) {
 13019  		goto __216
 13020  	} /* Check range is in order */
 13021  
 13022  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR8
 13023  	goto FAILED_BACK
 13024  	goto __217
 13025  __216:
 13026  
 13027  	if !(!(char_is_literal != 0) && *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) == DMETA_RANGE_LITERAL) {
 13028  		goto __218
 13029  	}
 13030  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) = DMETA_RANGE_ESCAPED
 13031  __218:
 13032  	;
 13033  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 13034  	okquantifier = DTRUE
 13035  
 13036  __217:
 13037  	;
 13038  __215:
 13039  	;
 13040  	class_range_state = RANGE_NO
 13041  	goto __213
 13042  __212: /* Potential start of range */
 13043  
 13044  	if char_is_literal != 0 {
 13045  		class_range_state = RANGE_OK_LITERAL
 13046  	} else {
 13047  		class_range_state = RANGE_OK_ESCAPED
 13048  	}
 13049  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */))
 13050  	okquantifier = DTRUE
 13051  
 13052  __213:
 13053  	;
 13054  	goto __211
 13055  __210:
 13056  
 13057  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* tempptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))
 13058  	escape = X_pcre2_check_escape_8(tls, bp+8, ptrend, bp+16, bp+20, options,
 13059  		(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options, DTRUE, cb)
 13060  
 13061  	if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) {
 13062  		goto __219
 13063  	}
 13064  
 13065  	if !(extra_options&DPCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL == Tuint32_t(0)) {
 13066  		goto __220
 13067  	}
 13068  	goto FAILED
 13069  __220:
 13070  	;
 13071  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 24 /* tempptr */))
 13072  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 13073  		goto __221
 13074  	}
 13075  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t('\134')
 13076  	goto __222
 13077  __221:
 13078  
 13079  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1))))
 13080  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) {
 13081  		goto __223
 13082  	}
 13083  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) {
 13084  		goto __224
 13085  	}
 13086  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f
 13087  	goto __225
 13088  __224:
 13089  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) {
 13090  		goto __226
 13091  	}
 13092  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f
 13093  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2)
 13094  	goto __227
 13095  __226:
 13096  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) {
 13097  		goto __228
 13098  	}
 13099  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f
 13100  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3)
 13101  	goto __229
 13102  __228:
 13103  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) {
 13104  		goto __230
 13105  	}
 13106  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f
 13107  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4)
 13108  	goto __231
 13109  __230:
 13110  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f
 13111  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5)
 13112  __231:
 13113  	;
 13114  __229:
 13115  	;
 13116  __227:
 13117  	;
 13118  __225:
 13119  	;
 13120  __223:
 13121  	;
 13122  
 13123  	// Get character value, increment pointer
 13124  __222:
 13125  	;
 13126  	escape = 0 // Treat as literal character
 13127  __219:
 13128  	;
 13129  
 13130  	switch escape {
 13131  	case 0:
 13132  		goto __233
 13133  
 13134  	case ESC_b:
 13135  		goto __234
 13136  
 13137  	case ESC_Q:
 13138  		goto __235
 13139  
 13140  	case ESC_E:
 13141  		goto __236
 13142  
 13143  	case ESC_B:
 13144  		goto __237 // Always an error in a class
 13145  	case ESC_R:
 13146  		goto __238
 13147  	case ESC_X:
 13148  		goto __239
 13149  	}
 13150  	goto __232
 13151  
 13152  __233: // Escaped character code point is in c
 13153  	char_is_literal = DFALSE
 13154  	goto CLASS_LITERAL
 13155  
 13156  __234:
 13157  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t('\010') // \b is backspace in a class
 13158  	char_is_literal = DFALSE
 13159  	goto CLASS_LITERAL
 13160  
 13161  __235:
 13162  	inescq = DTRUE // Enter literal mode
 13163  	goto CLASS_CONTINUE
 13164  
 13165  __236: // Ignore orphan \E
 13166  	goto CLASS_CONTINUE
 13167  
 13168  __237: // Always an error in a class
 13169  __238:
 13170  __239:
 13171  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR7
 13172  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))--
 13173  	goto FAILED
 13174  __232:
 13175  	;
 13176  
 13177  	// The second part of a range can be a single-character escape
 13178  	//         sequence (detected above), but not any of the other escapes. Perl
 13179  	//         treats a hyphen as a literal in such circumstances. However, in Perl's
 13180  	//         warning mode, a warning is given, so PCRE now faults it, as it is
 13181  	//         almost certainly a mistake on the user's part.
 13182  
 13183  	if !(class_range_state == Tuint32_t(1)) {
 13184  		goto __240
 13185  	}
 13186  
 13187  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR50
 13188  	goto FAILED // Not CLASS_ESCAPE_FAILED; always an error
 13189  __240:
 13190  	;
 13191  
 13192  	// Of the remaining escapes, only those that define characters are
 13193  	//         allowed in a class. None may start a range.
 13194  
 13195  	class_range_state = RANGE_NO
 13196  	switch escape {
 13197  	case ESC_N:
 13198  		goto __242
 13199  
 13200  	case ESC_H:
 13201  		goto __243
 13202  	case ESC_h:
 13203  		goto __244
 13204  	case ESC_V:
 13205  		goto __245
 13206  	case ESC_v:
 13207  		goto __246
 13208  
 13209  	// These escapes are converted to Unicode property tests when
 13210  	//           PCRE2_UCP is set.
 13211  
 13212  	case ESC_d:
 13213  		goto __247
 13214  	case ESC_D:
 13215  		goto __248
 13216  	case ESC_s:
 13217  		goto __249
 13218  	case ESC_S:
 13219  		goto __250
 13220  	case ESC_w:
 13221  		goto __251
 13222  	case ESC_W:
 13223  		goto __252
 13224  
 13225  	// Explicit Unicode property matching
 13226  
 13227  	case ESC_P:
 13228  		goto __253
 13229  	case ESC_p:
 13230  		goto __254 // End \P and \p
 13231  
 13232  	default:
 13233  		goto __255
 13234  	}
 13235  	goto __241
 13236  
 13237  __242:
 13238  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR71
 13239  	goto FAILED
 13240  
 13241  __243:
 13242  __244:
 13243  __245:
 13244  __246:
 13245  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 13246  	goto __241
 13247  
 13248  	// These escapes are converted to Unicode property tests when
 13249  	//           PCRE2_UCP is set.
 13250  
 13251  __247:
 13252  __248:
 13253  __249:
 13254  __250:
 13255  __251:
 13256  __252:
 13257  	if !(options&DPCRE2_UCP == Tuint32_t(0)) {
 13258  		goto __256
 13259  	}
 13260  
 13261  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 13262  	goto __257
 13263  __256:
 13264  
 13265  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + func() uint32 {
 13266  		if escape == ESC_d || escape == ESC_s || escape == ESC_w {
 13267  			return ESC_p
 13268  		}
 13269  		return ESC_P
 13270  	}()
 13271  	switch escape {
 13272  	case ESC_d:
 13273  		goto __259
 13274  	case ESC_D:
 13275  		goto __260
 13276  
 13277  	case ESC_s:
 13278  		goto __261
 13279  	case ESC_S:
 13280  		goto __262
 13281  
 13282  	case ESC_w:
 13283  		goto __263
 13284  	case ESC_W:
 13285  		goto __264
 13286  	}
 13287  	goto __258
 13288  
 13289  __259:
 13290  __260:
 13291  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_PC)<<16 | ucp_Nd)
 13292  	goto __258
 13293  
 13294  __261:
 13295  __262:
 13296  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_SPACE) << 16)
 13297  	goto __258
 13298  
 13299  __263:
 13300  __264:
 13301  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(DPT_WORD) << 16)
 13302  	goto __258
 13303  __258:
 13304  	;
 13305  __257:
 13306  	;
 13307  	goto __241
 13308  
 13309  	// Explicit Unicode property matching
 13310  
 13311  __253:
 13312  __254:
 13313  
 13314  	*(*Tuint16_t)(unsafe.Pointer(bp + 88 /* ptype2 */)) = Tuint16_t(0)
 13315  	*(*Tuint16_t)(unsafe.Pointer(bp + 90 /* pdata1 */)) = Tuint16_t(0)
 13316  	if !!(get_ucp(tls, bp+8, bp+84, bp+88, bp+90, bp+20, cb) != 0) {
 13317  		goto __265
 13318  	}
 13319  	goto FAILED
 13320  __265:
 13321  	;
 13322  	if !(*(*TBOOL)(unsafe.Pointer(bp + 84)) != 0) {
 13323  		goto __266
 13324  	}
 13325  	if escape == ESC_P {
 13326  		escape = ESC_p
 13327  	} else {
 13328  		escape = ESC_P
 13329  	}
 13330  __266:
 13331  	;
 13332  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + uint32(escape)
 13333  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(int32(*(*Tuint16_t)(unsafe.Pointer(bp + 88)))<<16 | int32(*(*Tuint16_t)(unsafe.Pointer(bp + 90))))
 13334  
 13335  	goto __241 // End \P and \p
 13336  
 13337  __255: // All others are not allowed in a class
 13338  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR7
 13339  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))--
 13340  	goto FAILED
 13341  __241:
 13342  	;
 13343  
 13344  	// Perl gives a warning unless a following hyphen is the last character
 13345  	//         in the class. PCRE throws an error.
 13346  
 13347  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\055' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\135') {
 13348  		goto __267
 13349  	}
 13350  
 13351  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR50
 13352  	goto FAILED
 13353  __267:
 13354  	;
 13355  __211:
 13356  	;
 13357  __209:
 13358  	;
 13359  __199:
 13360  	;
 13361  
 13362  	// Proceed to next thing in the class.
 13363  
 13364  CLASS_CONTINUE:
 13365  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 13366  		goto __268
 13367  	}
 13368  
 13369  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR6 // Missing terminating ']'
 13370  	goto FAILED
 13371  __268:
 13372  	;
 13373  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1))))
 13374  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 16)) >= 0xc0) {
 13375  		goto __269
 13376  	}
 13377  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x20 == Tuint32_t(0)) {
 13378  		goto __270
 13379  	}
 13380  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1))))&0x3f
 13381  	goto __271
 13382  __270:
 13383  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x10 == Tuint32_t(0)) {
 13384  		goto __272
 13385  	}
 13386  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f
 13387  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2)
 13388  	goto __273
 13389  __272:
 13390  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x08 == Tuint32_t(0)) {
 13391  		goto __274
 13392  	}
 13393  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f
 13394  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(3)
 13395  	goto __275
 13396  __274:
 13397  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x04 == Tuint32_t(0)) {
 13398  		goto __276
 13399  	}
 13400  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f
 13401  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(4)
 13402  	goto __277
 13403  __276:
 13404  	*(*Tuint32_t)(unsafe.Pointer(bp + 16 /* c */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 16))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 4)))&0x3f
 13405  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(5)
 13406  __277:
 13407  	;
 13408  __275:
 13409  	;
 13410  __273:
 13411  	;
 13412  __271:
 13413  	;
 13414  __269:
 13415  	;
 13416  
 13417  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) == Tuint32_t('\135') && !(inescq != 0)) {
 13418  		goto __278
 13419  	}
 13420  	goto __194
 13421  __278:
 13422  	;
 13423  	goto __193
 13424  __193:
 13425  	goto __192
 13426  	goto __194
 13427  __194:
 13428  	; // End of class-processing loop
 13429  
 13430  	// -] at the end of a class is a literal '-'
 13431  
 13432  	if !(class_range_state == Tuint32_t(1)) {
 13433  		goto __279
 13434  	}
 13435  
 13436  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) = Tuint32_t('\055')
 13437  	class_range_state = RANGE_NO
 13438  __279:
 13439  	;
 13440  
 13441  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CLASS_END
 13442  	goto __84 // End of character class
 13443  
 13444  	// ---- Opening parenthesis ----
 13445  
 13446  __95:
 13447  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 13448  		goto __280
 13449  	}
 13450  	goto UNCLOSED_PARENTHESIS
 13451  __280:
 13452  	;
 13453  
 13454  	// If ( is not followed by ? it is either a capture or a special verb or an
 13455  	//     alpha assertion or a positive non-atomic lookahead.
 13456  
 13457  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\077') {
 13458  		goto __281
 13459  	}
 13460  
 13461  	// Handle capturing brackets (or non-capturing if auto-capture is turned
 13462  	//       off).
 13463  
 13464  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\052') {
 13465  		goto __282
 13466  	}
 13467  
 13468  	nest_depth++
 13469  	if !(options&DPCRE2_NO_AUTO_CAPTURE == Tuint32_t(0)) {
 13470  		goto __284
 13471  	}
 13472  
 13473  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount >= DMAX_GROUP_NUMBER) {
 13474  		goto __286
 13475  	}
 13476  
 13477  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR97
 13478  	goto FAILED
 13479  __286:
 13480  	;
 13481  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount++
 13482  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CAPTURE | (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount
 13483  	goto __285
 13484  __284:
 13485  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 13486  __285:
 13487  	;
 13488  	goto __283
 13489  __282:
 13490  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 <= int64(1) || libc.AssignPtrUint32(bp+16, Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1)))) == Tuint32_t('\051')) {
 13491  		goto __287
 13492  	}
 13493  	goto __84
 13494  	goto __288
 13495  __287:
 13496  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 16)) <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fctypes + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 16))))))&Dctype_lcletter != 0) {
 13497  		goto __289
 13498  	}
 13499  
 13500  	vn = uintptr(unsafe.Pointer(&alasnames))
 13501  	if !!(read_name(tls, bp+8, ptrend, utf, uint32(0), bp+56, bp+64, bp+72,
 13502  		bp+20, cb) != 0) {
 13503  		goto __291
 13504  	}
 13505  	goto FAILED
 13506  __291:
 13507  	;
 13508  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072') {
 13509  		goto __292
 13510  	}
 13511  
 13512  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR95 // Malformed
 13513  	goto FAILED
 13514  __292:
 13515  	;
 13516  
 13517  	// Scan the table of alpha assertion names
 13518  
 13519  	*(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0
 13520  __293:
 13521  	if !(*(*int32)(unsafe.Pointer(bp + 48)) < alascount) {
 13522  		goto __295
 13523  	}
 13524  
 13525  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) == alasmeta[*(*int32)(unsafe.Pointer(bp + 48))].Flen && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)), vn, uint64(*(*Tuint32_t)(unsafe.Pointer(bp + 72)))) == 0) {
 13526  		goto __296
 13527  	}
 13528  	goto __295
 13529  __296:
 13530  	;
 13531  	vn += uintptr(alasmeta[*(*int32)(unsafe.Pointer(bp + 48))].Flen + uint32(1))
 13532  	goto __294
 13533  __294:
 13534  	*(*int32)(unsafe.Pointer(bp + 48 /* i */))++
 13535  	goto __293
 13536  	goto __295
 13537  __295:
 13538  	;
 13539  
 13540  	if !(*(*int32)(unsafe.Pointer(bp + 48)) >= alascount) {
 13541  		goto __297
 13542  	}
 13543  
 13544  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR95 // Alpha assertion not recognized
 13545  	goto FAILED
 13546  __297:
 13547  	;
 13548  
 13549  	// Check for expecting an assertion condition. If so, only atomic
 13550  	//         lookaround assertions are valid.
 13551  
 13552  	meta = alasmeta[*(*int32)(unsafe.Pointer(bp + 48 /* i */))].Fmeta
 13553  	if !(prev_expect_cond_assert > 0 && (meta < DMETA_LOOKAHEAD || meta > DMETA_LOOKBEHINDNOT)) {
 13554  		goto __298
 13555  	}
 13556  
 13557  	if meta == DMETA_LOOKAHEAD_NA || meta == DMETA_LOOKBEHIND_NA {
 13558  		*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR98
 13559  	} else {
 13560  		*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR28
 13561  	} // (Atomic) assertion expected
 13562  	goto FAILED
 13563  __298:
 13564  	;
 13565  
 13566  	// The lookaround alphabetic synonyms can mostly be handled by jumping
 13567  	//         to the code that handles the traditional symbolic forms.
 13568  
 13569  	switch meta {
 13570  	default:
 13571  		goto __300 // the meta values come from a table above.
 13572  
 13573  	case DMETA_ATOMIC:
 13574  		goto __301
 13575  
 13576  	case DMETA_LOOKAHEAD:
 13577  		goto __302
 13578  
 13579  	case DMETA_LOOKAHEAD_NA:
 13580  		goto __303
 13581  
 13582  	case DMETA_LOOKAHEADNOT:
 13583  		goto __304
 13584  
 13585  	case DMETA_LOOKBEHIND:
 13586  		goto __305
 13587  	case DMETA_LOOKBEHINDNOT:
 13588  		goto __306
 13589  	case DMETA_LOOKBEHIND_NA:
 13590  		goto __307
 13591  
 13592  	// The script run facilities are handled here. Unicode support is
 13593  	//           required (give an error if not, as this is a security issue). Always
 13594  	//           record a META_SCRIPT_RUN item. Then, for the atomic version, insert
 13595  	//           META_ATOMIC and remember that we need two META_KETs at the end.
 13596  
 13597  	case DMETA_SCRIPT_RUN:
 13598  		goto __308
 13599  	case DMETA_ATOMIC_SCRIPT_RUN:
 13600  		goto __309
 13601  	}
 13602  	goto __299
 13603  
 13604  __300:
 13605  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR89 // Unknown code; should never occur because
 13606  	goto FAILED                                                // the meta values come from a table above.
 13607  
 13608  __301:
 13609  	goto ATOMIC_GROUP
 13610  
 13611  __302:
 13612  	goto POSITIVE_LOOK_AHEAD
 13613  
 13614  __303:
 13615  	goto POSITIVE_NONATOMIC_LOOK_AHEAD
 13616  
 13617  __304:
 13618  	goto NEGATIVE_LOOK_AHEAD
 13619  
 13620  __305:
 13621  __306:
 13622  __307:
 13623  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = meta
 13624  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))--
 13625  	goto POST_LOOKBEHIND
 13626  
 13627  	// The script run facilities are handled here. Unicode support is
 13628  	//           required (give an error if not, as this is a security issue). Always
 13629  	//           record a META_SCRIPT_RUN item. Then, for the atomic version, insert
 13630  	//           META_ATOMIC and remember that we need two META_KETs at the end.
 13631  
 13632  __308:
 13633  __309:
 13634  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_SCRIPT_RUN
 13635  	nest_depth++
 13636  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 13637  	if !(meta == DMETA_ATOMIC_SCRIPT_RUN) {
 13638  		goto __310
 13639  	}
 13640  
 13641  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ATOMIC
 13642  	if !(top_nest == uintptr(0)) {
 13643  		goto __311
 13644  	}
 13645  	top_nest = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace
 13646  	goto __312
 13647  __311:
 13648  	if !(libc.PreIncUintptr(&top_nest, 12) >= end_nests) {
 13649  		goto __313
 13650  	}
 13651  
 13652  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR84
 13653  	goto FAILED
 13654  __313:
 13655  	;
 13656  __312:
 13657  	;
 13658  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth
 13659  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fflags = uint16(DNSF_ATOMICSR)
 13660  	(*Tnest_save)(unsafe.Pointer(top_nest)).Foptions = options & (DPCRE2_CASELESS | DPCRE2_DOTALL | DPCRE2_DUPNAMES | DPCRE2_EXTENDED | DPCRE2_EXTENDED_MORE | DPCRE2_MULTILINE | DPCRE2_NO_AUTO_CAPTURE | DPCRE2_UNGREEDY)
 13661  __310:
 13662  	;
 13663  	goto __299
 13664  __299:
 13665  	;
 13666  	goto __290
 13667  __289:
 13668  
 13669  	vn = uintptr(unsafe.Pointer(&verbnames))
 13670  	if !!(read_name(tls, bp+8, ptrend, utf, uint32(0), bp+56, bp+64, bp+72,
 13671  		bp+20, cb) != 0) {
 13672  		goto __314
 13673  	}
 13674  	goto FAILED
 13675  __314:
 13676  	;
 13677  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') {
 13678  		goto __315
 13679  	}
 13680  
 13681  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR60 // Malformed
 13682  	goto FAILED
 13683  __315:
 13684  	;
 13685  
 13686  	// Scan the table of verb names
 13687  
 13688  	*(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0
 13689  __316:
 13690  	if !(*(*int32)(unsafe.Pointer(bp + 48)) < verbcount) {
 13691  		goto __318
 13692  	}
 13693  
 13694  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) == verbs[*(*int32)(unsafe.Pointer(bp + 48))].Flen && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)), vn, uint64(*(*Tuint32_t)(unsafe.Pointer(bp + 72)))) == 0) {
 13695  		goto __319
 13696  	}
 13697  	goto __318
 13698  __319:
 13699  	;
 13700  	vn += uintptr(verbs[*(*int32)(unsafe.Pointer(bp + 48))].Flen + uint32(1))
 13701  	goto __317
 13702  __317:
 13703  	*(*int32)(unsafe.Pointer(bp + 48 /* i */))++
 13704  	goto __316
 13705  	goto __318
 13706  __318:
 13707  	;
 13708  
 13709  	if !(*(*int32)(unsafe.Pointer(bp + 48)) >= verbcount) {
 13710  		goto __320
 13711  	}
 13712  
 13713  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR60 // Verb not recognized
 13714  	goto FAILED
 13715  __320:
 13716  	;
 13717  
 13718  	// An empty argument is treated as no argument.
 13719  
 13720  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\072' && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))+uintptr(1) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\051') {
 13721  		goto __321
 13722  	}
 13723  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 13724  __321:
 13725  	; // Advance to the closing parens
 13726  
 13727  	// Check for mandatory non-empty argument; this is (*MARK)
 13728  
 13729  	if !(verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fhas_arg > 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072') {
 13730  		goto __322
 13731  	}
 13732  
 13733  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR66
 13734  	goto FAILED
 13735  __322:
 13736  	;
 13737  
 13738  	// Remember where this verb, possibly with a preceding (*MARK), starts,
 13739  	//         for handling quantified (*ACCEPT).
 13740  
 13741  	verbstartptr = parsed_pattern
 13742  	okquantifier = libc.Bool32(verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fmeta == DMETA_ACCEPT)
 13743  
 13744  	// It appears that Perl allows any characters whatsoever, other than a
 13745  	//         closing parenthesis, to appear in arguments ("names"), so we no longer
 13746  	//         insist on letters, digits, and underscores. Perl does not, however, do
 13747  	//         any interpretation within arguments, and has no means of including a
 13748  	//         closing parenthesis. PCRE supports escape processing but only when it
 13749  	//         is requested by an option. We set inverbname TRUE here, and let the
 13750  	//         main loop take care of this so that escape and \x processing is done by
 13751  	//         the main code above.
 13752  
 13753  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) == '\072') {
 13754  		goto __323
 13755  	} /* Skip past : or ) */
 13756  
 13757  	// Some optional arguments can be treated as a preceding (*MARK)
 13758  
 13759  	if !(verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fhas_arg < 0) {
 13760  		goto __325
 13761  	}
 13762  
 13763  	add_after_mark = verbs[*(*int32)(unsafe.Pointer(bp + 48 /* i */))].Fmeta
 13764  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_MARK
 13765  	goto __326
 13766  __325:
 13767  
 13768  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fmeta + func() uint32 {
 13769  		if verbs[*(*int32)(unsafe.Pointer(bp + 48))].Fmeta != DMETA_MARK {
 13770  			return 0x00010000
 13771  		}
 13772  		return uint32(0)
 13773  	}()
 13774  __326:
 13775  	;
 13776  
 13777  	// Set up for reading the name in the main loop.
 13778  
 13779  	verblengthptr = libc.PostIncUintptr(&parsed_pattern, 4)
 13780  	verbnamestart = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))
 13781  	inverbname = DTRUE
 13782  	goto __324
 13783  __323: /* No verb "name" argument */
 13784  
 13785  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = verbs[*(*int32)(unsafe.Pointer(bp + 48 /* i */))].Fmeta
 13786  __324:
 13787  	;
 13788  __290:
 13789  	;
 13790  __288:
 13791  	;
 13792  __283:
 13793  	;         // End of (*VERB) handling
 13794  	goto __84 // Done with this parenthesis
 13795  __281:
 13796  	; // End of groups that don't start with (?
 13797  
 13798  	// ---- Items starting (? ----
 13799  
 13800  	// The type of item is determined by what follows (?. Handle (?| and option
 13801  	//     changes under "default" because both need a new block on the nest stack.
 13802  	//     Comments starting with (?# are handled above. Note that there is some
 13803  	//     ambiguity about the sequence (?- because if a digit follows it's a relative
 13804  	//     recursion or subroutine call whereas otherwise it's an option unsetting.
 13805  
 13806  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) {
 13807  		goto __327
 13808  	}
 13809  	goto UNCLOSED_PARENTHESIS
 13810  __327:
 13811  	;
 13812  
 13813  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))))) {
 13814  	default:
 13815  		goto __329 // End default case after (?
 13816  
 13817  	// ---- Python syntax support ----
 13818  
 13819  	case '\120':
 13820  		goto __330 // End of (?P processing
 13821  
 13822  	// ---- Recursion/subroutine calls by number ----
 13823  
 13824  	case '\122':
 13825  		goto __331
 13826  
 13827  	// An item starting (?- followed by a digit comes here via the "default"
 13828  	//       case because (?- followed by a non-digit is an options setting.
 13829  
 13830  	case '\053':
 13831  		goto __332
 13832  	// Fall through
 13833  
 13834  	case '\060':
 13835  		goto __333
 13836  	case '\061':
 13837  		goto __334
 13838  	case '\062':
 13839  		goto __335
 13840  	case '\063':
 13841  		goto __336
 13842  	case '\064':
 13843  		goto __337
 13844  	case '\065':
 13845  		goto __338
 13846  	case '\066':
 13847  		goto __339
 13848  	case '\067':
 13849  		goto __340
 13850  	case '\070':
 13851  		goto __341
 13852  	case '\071':
 13853  		goto __342 // End of recursive call by number handling
 13854  
 13855  	// ---- Recursion/subroutine calls by name ----
 13856  
 13857  	case '\046':
 13858  		goto __343
 13859  
 13860  	// ---- Callout with numerical or string argument ----
 13861  
 13862  	case '\103':
 13863  		goto __344 // End callout
 13864  
 13865  	// ---- Conditional group ----
 13866  
 13867  	// A condition can be an assertion, a number (referring to a numbered
 13868  	//       group's having been set), a name (referring to a named group), or 'R',
 13869  	//       referring to overall recursion. R<digits> and R&name are also permitted
 13870  	//       for recursion state tests. Numbers may be preceded by + or - to specify a
 13871  	//       relative group number.
 13872  	//
 13873  	//       There are several syntaxes for testing a named group: (?(name)) is used
 13874  	//       by Python; Perl 5.10 onwards uses (?(<name>) or (?('name')).
 13875  	//
 13876  	//       There are two unfortunate ambiguities. 'R' can be the recursive thing or
 13877  	//       the name 'R' (and similarly for 'R' followed by digits). 'DEFINE' can be
 13878  	//       the Perl DEFINE feature or the Python named test. We look for a name
 13879  	//       first; if not found, we try the other case.
 13880  	//
 13881  	//       For compatibility with auto-callouts, we allow a callout to be specified
 13882  	//       before a condition that is an assertion.
 13883  
 13884  	case '\050':
 13885  		goto __345 // End of condition processing
 13886  
 13887  	// ---- Atomic group ----
 13888  
 13889  	case '\076':
 13890  		goto __346
 13891  
 13892  	// ---- Lookahead assertions ----
 13893  
 13894  	case '\075':
 13895  		goto __347
 13896  
 13897  	case '\052':
 13898  		goto __348
 13899  
 13900  	case '\041':
 13901  		goto __349
 13902  
 13903  	// ---- Lookbehind assertions ----
 13904  
 13905  	// (?< followed by = or ! or * is a lookbehind assertion. Otherwise (?<
 13906  	//       is the start of the name of a capturing group.
 13907  
 13908  	case '\074':
 13909  		goto __350
 13910  
 13911  	// ---- Define a named group ----
 13912  
 13913  	// A named group may be defined as (?'name') or (?<name>). In the latter
 13914  	//       case we jump to DEFINE_NAME from the disambiguation of (?< above with the
 13915  	//       terminator set to '>'.
 13916  
 13917  	case '\047':
 13918  		goto __351
 13919  	}
 13920  	goto __328
 13921  
 13922  __329:
 13923  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\055' && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 > int64(1) && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) <= '\071')) {
 13924  		goto __352
 13925  	}
 13926  	goto RECURSION_BYNUMBER
 13927  __352:
 13928  	; // The + case is handled by CHAR_PLUS
 13929  
 13930  	// We now have either (?| or a (possibly empty) option setting,
 13931  	//       optionally followed by a non-capturing group.
 13932  
 13933  	nest_depth++
 13934  	if !(top_nest == uintptr(0)) {
 13935  		goto __353
 13936  	}
 13937  	top_nest = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace
 13938  	goto __354
 13939  __353:
 13940  	if !(libc.PreIncUintptr(&top_nest, 12) >= end_nests) {
 13941  		goto __355
 13942  	}
 13943  
 13944  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR84
 13945  	goto FAILED
 13946  __355:
 13947  	;
 13948  __354:
 13949  	;
 13950  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth
 13951  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fflags = Tuint16_t(0)
 13952  	(*Tnest_save)(unsafe.Pointer(top_nest)).Foptions = options & (DPCRE2_CASELESS | DPCRE2_DOTALL | DPCRE2_DUPNAMES | DPCRE2_EXTENDED | DPCRE2_EXTENDED_MORE | DPCRE2_MULTILINE | DPCRE2_NO_AUTO_CAPTURE | DPCRE2_UNGREEDY)
 13953  
 13954  	// Start of non-capturing group that resets the capture count for each
 13955  	//       branch.
 13956  
 13957  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\174') {
 13958  		goto __356
 13959  	}
 13960  
 13961  	(*Tnest_save)(unsafe.Pointer(top_nest)).Freset_group = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount)
 13962  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount)
 13963  	*(*Tuint16_t)(unsafe.Pointer(top_nest + 6)) |= uint16(DNSF_RESET)
 13964  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_DUPCAPUSED)
 13965  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 13966  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 13967  	goto __357
 13968  __356:
 13969  
 13970  	hyphenok = DTRUE
 13971  	oldoptions = options
 13972  
 13973  	(*Tnest_save)(unsafe.Pointer(top_nest)).Freset_group = Tuint16_t(0)
 13974  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group = Tuint16_t(0)
 13975  	*(*Tuint32_t)(unsafe.Pointer(bp + 92 /* set */)) = libc.AssignPtrUint32(bp+96 /* unset */, Tuint32_t(0))
 13976  	optset = bp + 92 /* &set */
 13977  
 13978  	// ^ at the start unsets imnsx and disables the subsequent use of -
 13979  
 13980  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\136') {
 13981  		goto __358
 13982  	}
 13983  
 13984  	options = options & libc.CplUint32(DPCRE2_CASELESS|DPCRE2_MULTILINE|DPCRE2_NO_AUTO_CAPTURE|DPCRE2_DOTALL|DPCRE2_EXTENDED|DPCRE2_EXTENDED_MORE)
 13985  	hyphenok = DFALSE
 13986  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 13987  __358:
 13988  	;
 13989  
 13990  __359:
 13991  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\072') {
 13992  		goto __360
 13993  	}
 13994  
 13995  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), 1)))) {
 13996  	case '\055':
 13997  		goto __362
 13998  
 13999  	case '\112':
 14000  		goto __363
 14001  
 14002  	case '\151':
 14003  		goto __364
 14004  	case '\155':
 14005  		goto __365
 14006  	case '\156':
 14007  		goto __366
 14008  	case '\163':
 14009  		goto __367
 14010  	case '\125':
 14011  		goto __368
 14012  
 14013  	// If x appears twice it sets the extended extended option.
 14014  
 14015  	case '\170':
 14016  		goto __369
 14017  
 14018  	default:
 14019  		goto __370
 14020  	}
 14021  	goto __361
 14022  
 14023  __362:
 14024  	if !!(hyphenok != 0) {
 14025  		goto __371
 14026  	}
 14027  
 14028  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR94
 14029  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Correct the offset
 14030  	goto FAILED
 14031  __371:
 14032  	;
 14033  	optset = bp + 96 /* &unset */
 14034  	hyphenok = DFALSE
 14035  	goto __361
 14036  
 14037  __363: // Record that it changed in the external options
 14038  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_DUPNAMES
 14039  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_JCHANGED)
 14040  	goto __361
 14041  
 14042  __364:
 14043  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_CASELESS
 14044  	goto __361
 14045  __365:
 14046  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_MULTILINE
 14047  	goto __361
 14048  __366:
 14049  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_NO_AUTO_CAPTURE
 14050  	goto __361
 14051  __367:
 14052  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_DOTALL
 14053  	goto __361
 14054  __368:
 14055  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_UNGREEDY
 14056  	goto __361
 14057  
 14058  	// If x appears twice it sets the extended extended option.
 14059  
 14060  __369:
 14061  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_EXTENDED
 14062  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\170') {
 14063  		goto __372
 14064  	}
 14065  
 14066  	*(*Tuint32_t)(unsafe.Pointer(optset)) |= DPCRE2_EXTENDED_MORE
 14067  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14068  __372:
 14069  	;
 14070  	goto __361
 14071  
 14072  __370:
 14073  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR11
 14074  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Correct the offset
 14075  	goto FAILED
 14076  __361:
 14077  	;
 14078  	goto __359
 14079  __360:
 14080  	;
 14081  
 14082  	// If we are setting extended without extended-more, ensure that any
 14083  	//         existing extended-more gets unset. Also, unsetting extended must also
 14084  	//         unset extended-more.
 14085  
 14086  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 92))&(DPCRE2_EXTENDED|DPCRE2_EXTENDED_MORE) == DPCRE2_EXTENDED || *(*Tuint32_t)(unsafe.Pointer(bp + 96))&DPCRE2_EXTENDED != Tuint32_t(0)) {
 14087  		goto __373
 14088  	}
 14089  	*(*Tuint32_t)(unsafe.Pointer(bp + 96 /* unset */)) |= DPCRE2_EXTENDED_MORE
 14090  __373:
 14091  	;
 14092  
 14093  	options = (options | *(*Tuint32_t)(unsafe.Pointer(bp + 92))) & ^*(*Tuint32_t)(unsafe.Pointer(bp + 96))
 14094  
 14095  	// If the options ended with ')' this is not the start of a nested
 14096  	//         group with option changes, so the options change at this level.
 14097  	//         In this case, if the previous level set up a nest block, discard the
 14098  	//         one we have just created. Otherwise adjust it for the previous level.
 14099  	//         If the options ended with ':' we are starting a non-capturing group,
 14100  	//         possibly with an options setting.
 14101  
 14102  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 14103  		goto __374
 14104  	}
 14105  	goto UNCLOSED_PARENTHESIS
 14106  __374:
 14107  	;
 14108  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) == '\051') {
 14109  		goto __375
 14110  	}
 14111  
 14112  	nest_depth-- // This is not a nested group after all.
 14113  	if !(top_nest > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace && int32((*Tnest_save)(unsafe.Pointer(top_nest-uintptr(1)*12)).Fnest_depth) == int32(nest_depth)) {
 14114  		goto __377
 14115  	}
 14116  	top_nest -= 12
 14117  	goto __378
 14118  __377:
 14119  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth
 14120  __378:
 14121  	;
 14122  	goto __376
 14123  __375:
 14124  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_NOCAPTURE
 14125  __376:
 14126  	;
 14127  
 14128  	// If nothing changed, no need to record.
 14129  
 14130  	if !(options != oldoptions) {
 14131  		goto __379
 14132  	}
 14133  
 14134  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_OPTIONS
 14135  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = options
 14136  __379:
 14137  	;
 14138  __357:
 14139  	;          // End options processing
 14140  	goto __328 // End default case after (?
 14141  
 14142  	// ---- Python syntax support ----
 14143  
 14144  __330:
 14145  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) {
 14146  		goto __380
 14147  	}
 14148  	goto UNCLOSED_PARENTHESIS
 14149  __380:
 14150  	;
 14151  
 14152  	// (?P<name> is the same as (?<name>, which defines a named group.
 14153  
 14154  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\074') {
 14155  		goto __381
 14156  	}
 14157  
 14158  	terminator = Tuint32_t('\076')
 14159  	goto DEFINE_NAME
 14160  __381:
 14161  	;
 14162  
 14163  	// (?P>name) is the same as (?&name), which is a recursion or subroutine
 14164  	//       call.
 14165  
 14166  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\076') {
 14167  		goto __382
 14168  	}
 14169  	goto RECURSE_BY_NAME
 14170  __382:
 14171  	;
 14172  
 14173  	// (?P=name) is the same as \k<name>, a back reference by name. Anything
 14174  	//       else after (?P is an error.
 14175  
 14176  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\075') {
 14177  		goto __383
 14178  	}
 14179  
 14180  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR41
 14181  	goto FAILED
 14182  __383:
 14183  	;
 14184  	if !!(read_name(tls, bp+8, ptrend, utf, uint32('\051'), bp+56, bp+64,
 14185  		bp+72, bp+20, cb) != 0) {
 14186  		goto __384
 14187  	}
 14188  	goto FAILED
 14189  __384:
 14190  	;
 14191  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_BACKREF_BYNAME
 14192  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */))
 14193  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 14194  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 14195  
 14196  	okquantifier = DTRUE
 14197  	goto __328 // End of (?P processing
 14198  
 14199  	// ---- Recursion/subroutine calls by number ----
 14200  
 14201  __331:
 14202  	*(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0 // (?R) == (?R0)
 14203  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14204  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') {
 14205  		goto __385
 14206  	}
 14207  
 14208  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR58
 14209  	goto FAILED
 14210  __385:
 14211  	;
 14212  	goto SET_RECURSION
 14213  
 14214  	// An item starting (?- followed by a digit comes here via the "default"
 14215  	//       case because (?- followed by a non-digit is an options setting.
 14216  
 14217  __332:
 14218  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 < int64(2) || !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) <= '\071')) {
 14219  		goto __386
 14220  	}
 14221  
 14222  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR29 // Missing number
 14223  	goto FAILED
 14224  __386:
 14225  	;
 14226  	// Fall through
 14227  
 14228  __333:
 14229  __334:
 14230  __335:
 14231  __336:
 14232  __337:
 14233  __338:
 14234  __339:
 14235  __340:
 14236  __341:
 14237  __342:
 14238  RECURSION_BYNUMBER:
 14239  	if !!(read_number(tls, bp+8, ptrend,
 14240  		func() int32 {
 14241  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071' {
 14242  				return -1
 14243  			}
 14244  			return int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount)
 14245  		}(),
 14246  		DMAX_GROUP_NUMBER, ERR61,
 14247  		bp+48, bp+20) != 0) {
 14248  		goto __387
 14249  	}
 14250  	goto FAILED
 14251  __387:
 14252  	;
 14253  	if !(*(*int32)(unsafe.Pointer(bp + 48)) < 0) {
 14254  		goto __388
 14255  	} /* NB (?0) is permitted */
 14256  
 14257  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR15 // Unknown group
 14258  	goto FAILED_BACK
 14259  __388:
 14260  	;
 14261  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') {
 14262  		goto __389
 14263  	}
 14264  	goto UNCLOSED_PARENTHESIS
 14265  __389:
 14266  	;
 14267  
 14268  SET_RECURSION:
 14269  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_RECURSE | Tuint32_t(*(*int32)(unsafe.Pointer(bp + 48)))
 14270  	*(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 14271  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14272  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 14273  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 14274  
 14275  	okquantifier = DTRUE
 14276  	goto __328 // End of recursive call by number handling
 14277  
 14278  	// ---- Recursion/subroutine calls by name ----
 14279  
 14280  __343:
 14281  RECURSE_BY_NAME:
 14282  	if !!(read_name(tls, bp+8, ptrend, utf, uint32('\051'), bp+56, bp+64,
 14283  		bp+72, bp+20, cb) != 0) {
 14284  		goto __390
 14285  	}
 14286  	goto FAILED
 14287  __390:
 14288  	;
 14289  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_RECURSE_BYNAME
 14290  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */))
 14291  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 14292  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 14293  
 14294  	okquantifier = DTRUE
 14295  	goto __328
 14296  
 14297  	// ---- Callout with numerical or string argument ----
 14298  
 14299  __344:
 14300  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) {
 14301  		goto __391
 14302  	}
 14303  	goto UNCLOSED_PARENTHESIS
 14304  __391:
 14305  	;
 14306  
 14307  	// If the previous item was a condition starting (?(? an assertion,
 14308  	//       optionally preceded by a callout, is expected. This is checked later on,
 14309  	//       during actual compilation. However we need to identify this kind of
 14310  	//       assertion in this pass because it must not be qualified. The value of
 14311  	//       expect_cond_assert is set to 2 after (?(? is processed. We decrement it
 14312  	//       for a callout - still leaving a positive value that identifies the
 14313  	//       assertion. Multiple callouts or any other items will make it zero or
 14314  	//       less, which doesn't matter because they will cause an error later.
 14315  
 14316  	expect_cond_assert = prev_expect_cond_assert - 1
 14317  
 14318  	// If previous_callout is not NULL, it means this follows a previous
 14319  	//       callout. If it was a manual callout, do nothing; this means its "length
 14320  	//       of next pattern item" field will remain zero. If it was an automatic
 14321  	//       callout, abolish it.
 14322  
 14323  	if !(*(*uintptr)(unsafe.Pointer(bp)) != uintptr(0) && options&DPCRE2_AUTO_CALLOUT != Tuint32_t(0) && *(*uintptr)(unsafe.Pointer(bp)) == parsed_pattern-uintptr(4)*4 && *(*Tuint32_t)(unsafe.Pointer(parsed_pattern + libc.UintptrFromInt32(-1)*4)) == Tuint32_t(255)) {
 14324  		goto __392
 14325  	}
 14326  	parsed_pattern = *(*uintptr)(unsafe.Pointer(bp /* previous_callout */))
 14327  __392:
 14328  	;
 14329  
 14330  	// Save for updating next pattern item length, and skip one item before
 14331  	//       completing.
 14332  
 14333  	*(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) = parsed_pattern
 14334  	after_manual_callout = 1
 14335  
 14336  	// Handle a string argument; specific delimiter is required.
 14337  
 14338  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051' && !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071')) {
 14339  		goto __393
 14340  	}
 14341  
 14342  	startptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))
 14343  
 14344  	delimiter = Tuint32_t(0)
 14345  	*(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0
 14346  __395:
 14347  	if !(X_pcre2_callout_start_delims_8[*(*int32)(unsafe.Pointer(bp + 48))] != Tuint32_t(0)) {
 14348  		goto __397
 14349  	}
 14350  
 14351  	if !(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == X_pcre2_callout_start_delims_8[*(*int32)(unsafe.Pointer(bp + 48))]) {
 14352  		goto __398
 14353  	}
 14354  
 14355  	delimiter = X_pcre2_callout_end_delims_8[*(*int32)(unsafe.Pointer(bp + 48 /* i */))]
 14356  	goto __397
 14357  __398:
 14358  	;
 14359  	goto __396
 14360  __396:
 14361  	*(*int32)(unsafe.Pointer(bp + 48 /* i */))++
 14362  	goto __395
 14363  	goto __397
 14364  __397:
 14365  	;
 14366  	if !(delimiter == Tuint32_t(0)) {
 14367  		goto __399
 14368  	}
 14369  
 14370  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR82
 14371  	goto FAILED
 14372  __399:
 14373  	;
 14374  
 14375  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_CALLOUT_STRING
 14376  	parsed_pattern += 4 * uintptr(3) // Skip pattern info
 14377  
 14378  __400:
 14379  
 14380  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) {
 14381  		goto __403
 14382  	}
 14383  
 14384  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR81
 14385  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) = startptr // To give a more useful message
 14386  	goto FAILED
 14387  __403:
 14388  	;
 14389  	if !(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == delimiter && (libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend || Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != delimiter)) {
 14390  		goto __404
 14391  	}
 14392  	goto __402
 14393  __404:
 14394  	;
 14395  	goto __401
 14396  __401:
 14397  	goto __400
 14398  	goto __402
 14399  __402:
 14400  	;
 14401  
 14402  	calloutlength = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))) - int64(startptr)) / 1)
 14403  	if !(calloutlength > uint64(4294967295)) {
 14404  		goto __405
 14405  	}
 14406  
 14407  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR72
 14408  	goto FAILED
 14409  __405:
 14410  	;
 14411  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(calloutlength)
 14412  	*(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(startptr) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 14413  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 14414  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 14415  
 14416  	goto __394
 14417  __393:
 14418  
 14419  	n = 0
 14420  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_CALLOUT_NUMBER // Numerical callout
 14421  	parsed_pattern += 4 * uintptr(3)                                     // Skip pattern info
 14422  __406:
 14423  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) < ptrend && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071')) {
 14424  		goto __407
 14425  	}
 14426  
 14427  	n = n*10 + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) - '\060'
 14428  	if !(n > 255) {
 14429  		goto __408
 14430  	}
 14431  
 14432  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR38
 14433  	goto FAILED
 14434  __408:
 14435  	;
 14436  	goto __406
 14437  __407:
 14438  	;
 14439  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(n)
 14440  __394:
 14441  	;
 14442  
 14443  	// Both formats must have a closing parenthesis
 14444  
 14445  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') {
 14446  		goto __409
 14447  	}
 14448  
 14449  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR39
 14450  	goto FAILED
 14451  __409:
 14452  	;
 14453  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14454  
 14455  	// Remember the offset to the next item in the pattern, and set a default
 14456  	//       length. This should get updated after the next item is read.
 14457  
 14458  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) + 1*4)) = Tuint32_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 14459  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* previous_callout */)) + 2*4)) = Tuint32_t(0)
 14460  	goto __328 // End callout
 14461  
 14462  	// ---- Conditional group ----
 14463  
 14464  	// A condition can be an assertion, a number (referring to a numbered
 14465  	//       group's having been set), a name (referring to a named group), or 'R',
 14466  	//       referring to overall recursion. R<digits> and R&name are also permitted
 14467  	//       for recursion state tests. Numbers may be preceded by + or - to specify a
 14468  	//       relative group number.
 14469  	//
 14470  	//       There are several syntaxes for testing a named group: (?(name)) is used
 14471  	//       by Python; Perl 5.10 onwards uses (?(<name>) or (?('name')).
 14472  	//
 14473  	//       There are two unfortunate ambiguities. 'R' can be the recursive thing or
 14474  	//       the name 'R' (and similarly for 'R' followed by digits). 'DEFINE' can be
 14475  	//       the Perl DEFINE feature or the Python named test. We look for a name
 14476  	//       first; if not found, we try the other case.
 14477  	//
 14478  	//       For compatibility with auto-callouts, we allow a callout to be specified
 14479  	//       before a condition that is an assertion.
 14480  
 14481  __345:
 14482  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend) {
 14483  		goto __410
 14484  	}
 14485  	goto UNCLOSED_PARENTHESIS
 14486  __410:
 14487  	;
 14488  	nest_depth++
 14489  
 14490  	// If the next character is ? or * there must be an assertion next
 14491  	//       (optionally preceded by a callout). We do not check this here, but
 14492  	//       instead we set expect_cond_assert to 2. If this is still greater than
 14493  	//       zero (callouts decrement it) when the next assertion is read, it will be
 14494  	//       marked as a condition that must not be repeated. A value greater than
 14495  	//       zero also causes checking that an assertion (possibly with callout)
 14496  	//       follows.
 14497  
 14498  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\077' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\052') {
 14499  		goto __411
 14500  	}
 14501  
 14502  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_COND_ASSERT
 14503  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Pull pointer back to the opening parenthesis.
 14504  	expect_cond_assert = 2
 14505  	goto __328 // End of conditional
 14506  __411:
 14507  	;
 14508  
 14509  	// Handle (?([+-]number)...
 14510  
 14511  	if !(read_number(tls, bp+8, ptrend, int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount), DMAX_GROUP_NUMBER, ERR61, bp+48,
 14512  		bp+20) != 0) {
 14513  		goto __412
 14514  	}
 14515  
 14516  	if !(*(*int32)(unsafe.Pointer(bp + 48)) <= 0) {
 14517  		goto __414
 14518  	}
 14519  
 14520  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR15
 14521  	goto FAILED
 14522  __414:
 14523  	;
 14524  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_COND_NUMBER
 14525  	*(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))-int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1 - int64(2))
 14526  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 14527  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 14528  
 14529  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*int32)(unsafe.Pointer(bp + 48 /* i */)))
 14530  	goto __413
 14531  __412:
 14532  	if !(*(*int32)(unsafe.Pointer(bp + 20)) != 0) {
 14533  		goto __415
 14534  	}
 14535  	goto FAILED
 14536  	goto __416
 14537  __415:
 14538  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 >= int64(10) && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), ts+615, uint64(7)) == 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 7))) != '\051') {
 14539  		goto __417
 14540  	}
 14541  
 14542  	ge = Tuint32_t(0)
 14543  	*(*int32)(unsafe.Pointer(bp + 100 /* major */)) = 0
 14544  	minor = 0
 14545  
 14546  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(7)
 14547  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\076') {
 14548  		goto __419
 14549  	}
 14550  
 14551  	ge = Tuint32_t(1)
 14552  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14553  __419:
 14554  	;
 14555  
 14556  	// NOTE: cannot write IS_DIGIT(*(++ptr)) here because IS_DIGIT
 14557  	//         references its argument twice.
 14558  
 14559  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\075' || func() bool {
 14560  		*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))++
 14561  		return !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071')
 14562  	}()) {
 14563  		goto __420
 14564  	}
 14565  	goto BAD_VERSION_CONDITION
 14566  __420:
 14567  	;
 14568  
 14569  	if !!(read_number(tls, bp+8, ptrend, -1, uint32(1000), ERR79, bp+100, bp+20) != 0) {
 14570  		goto __421
 14571  	}
 14572  	goto FAILED
 14573  __421:
 14574  	;
 14575  
 14576  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 14577  		goto __422
 14578  	}
 14579  	goto BAD_VERSION_CONDITION
 14580  __422:
 14581  	;
 14582  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\056') {
 14583  		goto __423
 14584  	}
 14585  
 14586  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1) >= ptrend || !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071')) {
 14587  		goto __424
 14588  	}
 14589  	goto BAD_VERSION_CONDITION
 14590  __424:
 14591  	;
 14592  	minor = (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) - '\060') * 10
 14593  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 14594  		goto __425
 14595  	}
 14596  	goto BAD_VERSION_CONDITION
 14597  __425:
 14598  	;
 14599  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) <= '\071') {
 14600  		goto __426
 14601  	}
 14602  	minor = minor + (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)), 1)))) - '\060')
 14603  __426:
 14604  	;
 14605  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') {
 14606  		goto __427
 14607  	}
 14608  	goto BAD_VERSION_CONDITION
 14609  __427:
 14610  	;
 14611  __423:
 14612  	;
 14613  
 14614  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_COND_VERSION
 14615  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = ge
 14616  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*int32)(unsafe.Pointer(bp + 100 /* major */)))
 14617  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(minor)
 14618  	goto __418
 14619  __417:
 14620  
 14621  	was_r_ampersand = DFALSE
 14622  
 14623  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\122' && (int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 > int64(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\046') {
 14624  		goto __428
 14625  	}
 14626  
 14627  	terminator = Tuint32_t('\051')
 14628  	was_r_ampersand = DTRUE
 14629  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14630  	goto __429
 14631  __428:
 14632  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\074') {
 14633  		goto __430
 14634  	}
 14635  	terminator = Tuint32_t('\076')
 14636  	goto __431
 14637  __430:
 14638  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) == '\047') {
 14639  		goto __432
 14640  	}
 14641  	terminator = Tuint32_t('\047')
 14642  	goto __433
 14643  __432:
 14644  
 14645  	terminator = Tuint32_t('\051')
 14646  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Point to char before name
 14647  __433:
 14648  	;
 14649  __431:
 14650  	;
 14651  __429:
 14652  	;
 14653  	if !!(read_name(tls, bp+8, ptrend, utf, terminator, bp+56, bp+64, bp+72,
 14654  		bp+20, cb) != 0) {
 14655  		goto __434
 14656  	}
 14657  	goto FAILED
 14658  __434:
 14659  	;
 14660  
 14661  	// Handle (?(R&name)
 14662  
 14663  	if !(was_r_ampersand != 0) {
 14664  		goto __435
 14665  	}
 14666  
 14667  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_COND_RNAME
 14668  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Back to closing parens
 14669  	goto __436
 14670  __435:
 14671  	if !(terminator == Tuint32_t('\051')) {
 14672  		goto __437
 14673  	}
 14674  
 14675  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) == Tuint32_t(6) && X_pcre2_strncmp_c8_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)), ts+623, uint64(6)) == 0) {
 14676  		goto __439
 14677  	}
 14678  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_COND_DEFINE
 14679  	goto __440
 14680  __439:
 14681  
 14682  	*(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 1
 14683  __441:
 14684  	if !(*(*int32)(unsafe.Pointer(bp + 48)) < int32(*(*Tuint32_t)(unsafe.Pointer(bp + 72)))) {
 14685  		goto __443
 14686  	}
 14687  	if !!(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)) + uintptr(*(*int32)(unsafe.Pointer(bp + 48)))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)) + uintptr(*(*int32)(unsafe.Pointer(bp + 48)))))) <= '\071') {
 14688  		goto __444
 14689  	}
 14690  	goto __443
 14691  __444:
 14692  	;
 14693  	goto __442
 14694  __442:
 14695  	*(*int32)(unsafe.Pointer(bp + 48 /* i */))++
 14696  	goto __441
 14697  	goto __443
 14698  __443:
 14699  	;
 14700  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = func() uint32 {
 14701  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64))))) == '\122' && *(*int32)(unsafe.Pointer(bp + 48)) >= int32(*(*Tuint32_t)(unsafe.Pointer(bp + 72))) {
 14702  			return DMETA_COND_RNUMBER
 14703  		}
 14704  		return DMETA_COND_NAME
 14705  	}()
 14706  __440:
 14707  	;
 14708  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))-- // Back to closing parens
 14709  	goto __438
 14710  __437:
 14711  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_COND_NAME
 14712  __438:
 14713  	;
 14714  __436:
 14715  	;
 14716  
 14717  	// All these cases except DEFINE end with the name length and offset;
 14718  	//         DEFINE just has an offset (for the "too many branches" error).
 14719  
 14720  	if !(*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) != DMETA_COND_DEFINE) {
 14721  		goto __445
 14722  	}
 14723  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = *(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */))
 14724  __445:
 14725  	;
 14726  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 14727  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 14728  
 14729  __418:
 14730  	;
 14731  __416:
 14732  	;
 14733  __413:
 14734  	; // End cases that read a name
 14735  
 14736  	// Check the closing parenthesis of the condition
 14737  
 14738  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))) != '\051') {
 14739  		goto __446
 14740  	}
 14741  
 14742  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR24
 14743  	goto FAILED
 14744  __446:
 14745  	;
 14746  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14747  	goto __328 // End of condition processing
 14748  
 14749  	// ---- Atomic group ----
 14750  
 14751  __346:
 14752  ATOMIC_GROUP: // Come from (*atomic:
 14753  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ATOMIC
 14754  	nest_depth++
 14755  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14756  	goto __328
 14757  
 14758  	// ---- Lookahead assertions ----
 14759  
 14760  __347:
 14761  POSITIVE_LOOK_AHEAD: // Come from (*pla:
 14762  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEAD
 14763  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14764  	goto POST_ASSERTION
 14765  
 14766  __348:
 14767  POSITIVE_NONATOMIC_LOOK_AHEAD: // Come from (?*
 14768  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEAD_NA
 14769  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14770  	goto POST_ASSERTION
 14771  
 14772  __349:
 14773  NEGATIVE_LOOK_AHEAD: // Come from (*nla:
 14774  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_LOOKAHEADNOT
 14775  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))++
 14776  	goto POST_ASSERTION
 14777  
 14778  	// ---- Lookbehind assertions ----
 14779  
 14780  	// (?< followed by = or ! or * is a lookbehind assertion. Otherwise (?<
 14781  	//       is the start of the name of a capturing group.
 14782  
 14783  __350:
 14784  	if !((int64(ptrend)-int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))))/1 <= int64(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\075' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\041' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) != '\052') {
 14785  		goto __447
 14786  	}
 14787  
 14788  	terminator = Tuint32_t('\076')
 14789  	goto DEFINE_NAME
 14790  __447:
 14791  	;
 14792  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = func() uint32 {
 14793  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\075' {
 14794  			return DMETA_LOOKBEHIND
 14795  		}
 14796  		return func() uint32 {
 14797  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) + 1))) == '\041' {
 14798  				return DMETA_LOOKBEHINDNOT
 14799  			}
 14800  			return DMETA_LOOKBEHIND_NA
 14801  		}()
 14802  	}()
 14803  
 14804  POST_LOOKBEHIND: // Come from (*plb: (*naplb: and (*nlb:
 14805  	*(*TBOOL)(unsafe.Pointer(has_lookbehind)) = DTRUE
 14806  	*(*Tsize_t)(unsafe.Pointer(bp + 56 /* offset */)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)))-int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern))/1 - int64(2))
 14807  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) >> 32)
 14808  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = Tuint32_t(*(*Tsize_t)(unsafe.Pointer(bp + 56)) & uint64(0xffffffff))
 14809  
 14810  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)) += uintptr(2)
 14811  	// Fall through
 14812  
 14813  	// If the previous item was a condition starting (?(? an assertion,
 14814  	//       optionally preceded by a callout, is expected. This is checked later on,
 14815  	//       during actual compilation. However we need to identify this kind of
 14816  	//       assertion in this pass because it must not be qualified. The value of
 14817  	//       expect_cond_assert is set to 2 after (?(? is processed. We decrement it
 14818  	//       for a callout - still leaving a positive value that identifies the
 14819  	//       assertion. Multiple callouts or any other items will make it zero or
 14820  	//       less, which doesn't matter because they will cause an error later.
 14821  
 14822  POST_ASSERTION:
 14823  	nest_depth++
 14824  	if !(prev_expect_cond_assert > 0) {
 14825  		goto __448
 14826  	}
 14827  
 14828  	if !(top_nest == uintptr(0)) {
 14829  		goto __449
 14830  	}
 14831  	top_nest = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace
 14832  	goto __450
 14833  __449:
 14834  	if !(libc.PreIncUintptr(&top_nest, 12) >= end_nests) {
 14835  		goto __451
 14836  	}
 14837  
 14838  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR84
 14839  	goto FAILED
 14840  __451:
 14841  	;
 14842  __450:
 14843  	;
 14844  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth = nest_depth
 14845  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fflags = uint16(DNSF_CONDASSERT)
 14846  	(*Tnest_save)(unsafe.Pointer(top_nest)).Foptions = options & (DPCRE2_CASELESS | DPCRE2_DOTALL | DPCRE2_DUPNAMES | DPCRE2_EXTENDED | DPCRE2_EXTENDED_MORE | DPCRE2_MULTILINE | DPCRE2_NO_AUTO_CAPTURE | DPCRE2_UNGREEDY)
 14847  __448:
 14848  	;
 14849  	goto __328
 14850  
 14851  	// ---- Define a named group ----
 14852  
 14853  	// A named group may be defined as (?'name') or (?<name>). In the latter
 14854  	//       case we jump to DEFINE_NAME from the disambiguation of (?< above with the
 14855  	//       terminator set to '>'.
 14856  
 14857  __351:
 14858  	terminator = Tuint32_t('\047') // Terminator
 14859  
 14860  DEFINE_NAME:
 14861  	if !!(read_name(tls, bp+8, ptrend, utf, terminator, bp+56, bp+64, bp+72,
 14862  		bp+20, cb) != 0) {
 14863  		goto __452
 14864  	}
 14865  	goto FAILED
 14866  __452:
 14867  	;
 14868  
 14869  	// We have a name for this capturing group. It is also assigned a number,
 14870  	//       which is its primary means of identification.
 14871  
 14872  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount >= DMAX_GROUP_NUMBER) {
 14873  		goto __453
 14874  	}
 14875  
 14876  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR97
 14877  	goto FAILED
 14878  __453:
 14879  	;
 14880  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount++
 14881  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_CAPTURE | (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount
 14882  	nest_depth++
 14883  
 14884  	// Check not too many names
 14885  
 14886  	if !(int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) >= DMAX_NAME_COUNT) {
 14887  		goto __454
 14888  	}
 14889  
 14890  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR49
 14891  	goto FAILED
 14892  __454:
 14893  	;
 14894  
 14895  	// Adjust the entry size to accommodate the longest name found.
 14896  
 14897  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72))+Tuint32_t(DIMM2_SIZE)+Tuint32_t(1) > Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)) {
 14898  		goto __455
 14899  	}
 14900  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size = Tuint16_t(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) + Tuint32_t(DIMM2_SIZE) + Tuint32_t(1))
 14901  __455:
 14902  	;
 14903  
 14904  	// Scan the list to check for duplicates. For duplicate names, if the
 14905  	//       number is the same, break the loop, which causes the name to be
 14906  	//       discarded; otherwise, if DUPNAMES is not set, give an error.
 14907  	//       If it is set, allow the name with a different number, but continue
 14908  	//       scanning in case this is a duplicate with the same number. For
 14909  	//       non-duplicate names, give an error if the number is duplicated.
 14910  
 14911  	isdupname = DFALSE
 14912  	ng = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups
 14913  	*(*int32)(unsafe.Pointer(bp + 48 /* i */)) = 0
 14914  __456:
 14915  	if !(*(*int32)(unsafe.Pointer(bp + 48)) < int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 14916  		goto __458
 14917  	}
 14918  
 14919  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 72)) == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength) && X_pcre2_strncmp_8(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64)), (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, Tsize_t(*(*Tuint32_t)(unsafe.Pointer(bp + 72)))) == 0) {
 14920  		goto __459
 14921  	}
 14922  
 14923  	if !((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber == (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 14924  		goto __461
 14925  	}
 14926  	goto __458
 14927  __461:
 14928  	;
 14929  	if !(options&DPCRE2_DUPNAMES == Tuint32_t(0)) {
 14930  		goto __462
 14931  	}
 14932  
 14933  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR43
 14934  	goto FAILED
 14935  __462:
 14936  	;
 14937  	isdupname = TBOOL(libc.AssignPtrUint16(ng+14, Tuint16_t(DTRUE))) // Mark as a duplicate
 14938  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fdupnames = DTRUE        // Duplicate names exist
 14939  	goto __460
 14940  __459:
 14941  	if !((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber == (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 14942  		goto __463
 14943  	}
 14944  
 14945  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR65
 14946  	goto FAILED
 14947  __463:
 14948  	;
 14949  __460:
 14950  	;
 14951  	goto __457
 14952  __457:
 14953  	*(*int32)(unsafe.Pointer(bp + 48 /* i */))++
 14954  	ng += 16
 14955  	goto __456
 14956  	goto __458
 14957  __458:
 14958  	;
 14959  
 14960  	if !(*(*int32)(unsafe.Pointer(bp + 48)) < int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 14961  		goto __464
 14962  	}
 14963  	goto __328
 14964  __464:
 14965  	; // Ignore duplicate with same number
 14966  
 14967  	// Increase the list size if necessary
 14968  
 14969  	if !(Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size) {
 14970  		goto __465
 14971  	}
 14972  
 14973  	newsize = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size * Tuint32_t(2)
 14974  	newspace =
 14975  		(*struct {
 14976  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 14977  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Fmalloc})).f(tls, uint64(newsize)*uint64(unsafe.Sizeof(Tnamed_group_8{})),
 14978  			(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Fmemory_data)
 14979  	if !(newspace == uintptr(0)) {
 14980  		goto __466
 14981  	}
 14982  
 14983  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR21
 14984  	goto FAILED
 14985  __466:
 14986  	;
 14987  
 14988  	libc.Xmemcpy(tls, newspace, (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups,
 14989  		uint64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size)*uint64(unsafe.Sizeof(Tnamed_group_8{})))
 14990  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size > Tuint32_t(DNAMED_GROUP_LIST_SIZE)) {
 14991  		goto __467
 14992  	}
 14993  	(*struct {
 14994  		f func(*libc.TLS, uintptr, uintptr)
 14995  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups,
 14996  		(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fmemctl.Fmemory_data)
 14997  __467:
 14998  	;
 14999  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups = newspace
 15000  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_group_list_size = newsize
 15001  __465:
 15002  	;
 15003  
 15004  	// Add this name to the list
 15005  
 15006  	(*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*16)).Fname = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 64 /* name */))
 15007  	(*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*16)).Flength = Tuint16_t(*(*Tuint32_t)(unsafe.Pointer(bp + 72 /* namelen */)))
 15008  	(*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*16)).Fnumber = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount
 15009  	(*Tnamed_group_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups + uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)*16)).Fisdup = Tuint16_t(isdupname)
 15010  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found++
 15011  	goto __328
 15012  __328:
 15013  	;         // End of (? switch
 15014  	goto __84 // End of ( handling
 15015  
 15016  	// ---- Branch terminators ----
 15017  
 15018  	// Alternation: reset the capture count if we are in a (?| group.
 15019  
 15020  __96:
 15021  	if !(top_nest != uintptr(0) && int32((*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth) == int32(nest_depth) && uint32((*Tnest_save)(unsafe.Pointer(top_nest)).Fflags)&DNSF_RESET != uint32(0)) {
 15022  		goto __468
 15023  	}
 15024  
 15025  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount > Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group)) {
 15026  		goto __469
 15027  	}
 15028  	(*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount)
 15029  __469:
 15030  	;
 15031  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount = Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Freset_group)
 15032  __468:
 15033  	;
 15034  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ALT
 15035  	goto __84
 15036  
 15037  	// End of group; reset the capture count to the maximum if we are in a (?|
 15038  	//     group and/or reset the options that are tracked during parsing. Disallow
 15039  	//     quantifier for a condition that is an assertion.
 15040  
 15041  __97:
 15042  	okquantifier = DTRUE
 15043  	if !(top_nest != uintptr(0) && int32((*Tnest_save)(unsafe.Pointer(top_nest)).Fnest_depth) == int32(nest_depth)) {
 15044  		goto __470
 15045  	}
 15046  
 15047  	options = options&libc.CplUint32(DPCRE2_CASELESS|DPCRE2_DOTALL|DPCRE2_DUPNAMES|DPCRE2_EXTENDED|DPCRE2_EXTENDED_MORE|DPCRE2_MULTILINE|DPCRE2_NO_AUTO_CAPTURE|DPCRE2_UNGREEDY) | (*Tnest_save)(unsafe.Pointer(top_nest)).Foptions
 15048  	if !(uint32((*Tnest_save)(unsafe.Pointer(top_nest)).Fflags)&DNSF_RESET != uint32(0) && Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group) > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 15049  		goto __471
 15050  	}
 15051  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount = Tuint32_t((*Tnest_save)(unsafe.Pointer(top_nest)).Fmax_group)
 15052  __471:
 15053  	;
 15054  	if !(uint32((*Tnest_save)(unsafe.Pointer(top_nest)).Fflags)&DNSF_CONDASSERT != uint32(0)) {
 15055  		goto __472
 15056  	}
 15057  	okquantifier = DFALSE
 15058  __472:
 15059  	;
 15060  
 15061  	if !(uint32((*Tnest_save)(unsafe.Pointer(top_nest)).Fflags)&DNSF_ATOMICSR != uint32(0)) {
 15062  		goto __473
 15063  	}
 15064  
 15065  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 15066  __473:
 15067  	;
 15068  
 15069  	if !(top_nest == (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace) {
 15070  		goto __474
 15071  	}
 15072  	top_nest = uintptr(0)
 15073  	goto __475
 15074  __474:
 15075  	top_nest -= 12
 15076  __475:
 15077  	;
 15078  __470:
 15079  	;
 15080  	if !(int32(nest_depth) == 0) {
 15081  		goto __476
 15082  	} /* Unmatched closing parenthesis */
 15083  
 15084  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR22
 15085  	goto FAILED_BACK
 15086  __476:
 15087  	;
 15088  	nest_depth--
 15089  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 15090  	goto __84
 15091  __84:
 15092  	; // End of switch on pattern character
 15093  	goto __19
 15094  __20:
 15095  	; // End of main character scan loop
 15096  
 15097  	// End of pattern reached. Check for missing ) at the end of a verb name.
 15098  
 15099  	if !(inverbname != 0 && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8)) >= ptrend) {
 15100  		goto __477
 15101  	}
 15102  
 15103  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR60
 15104  	goto FAILED
 15105  __477:
 15106  	;
 15107  
 15108  	// Manage callout for the final item
 15109  
 15110  PARSED_END:
 15111  	parsed_pattern = manage_callouts(tls, *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */)), bp, auto_callout,
 15112  		parsed_pattern, cb)
 15113  
 15114  	// Insert trailing items for word and line matching (features provided for the
 15115  	// benefit of pcre2grep).
 15116  
 15117  	if !(extra_options&DPCRE2_EXTRA_MATCH_LINE != Tuint32_t(0)) {
 15118  		goto __478
 15119  	}
 15120  
 15121  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 15122  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_DOLLAR
 15123  	goto __479
 15124  __478:
 15125  	if !(extra_options&DPCRE2_EXTRA_MATCH_WORD != Tuint32_t(0)) {
 15126  		goto __480
 15127  	}
 15128  
 15129  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_KET
 15130  	*(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&parsed_pattern, 4))) = DMETA_ESCAPE + ESC_b
 15131  __480:
 15132  	;
 15133  __479:
 15134  	;
 15135  
 15136  	// Terminate the parsed pattern, then return success if all groups are closed.
 15137  	// Otherwise we have unclosed parentheses.
 15138  
 15139  	if !(parsed_pattern >= parsed_pattern_end) {
 15140  		goto __481
 15141  	}
 15142  
 15143  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR63 // Internal error (parsed pattern overflow)
 15144  	goto FAILED
 15145  __481:
 15146  	;
 15147  
 15148  	*(*Tuint32_t)(unsafe.Pointer(parsed_pattern)) = DMETA_END
 15149  	if !(int32(nest_depth) == 0) {
 15150  		goto __482
 15151  	}
 15152  	return 0
 15153  __482:
 15154  	;
 15155  
 15156  UNCLOSED_PARENTHESIS:
 15157  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR14
 15158  
 15159  	// Come here for all failures.
 15160  
 15161  FAILED:
 15162  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8))) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 15163  	return *(*int32)(unsafe.Pointer(bp + 20 /* errorcode */))
 15164  
 15165  	// Some errors need to indicate the previous character.
 15166  
 15167  FAILED_BACK:
 15168  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* ptr */))--
 15169  	goto FAILED
 15170  
 15171  	// This failure happens several times.
 15172  
 15173  BAD_VERSION_CONDITION:
 15174  	*(*int32)(unsafe.Pointer(bp + 20 /* errorcode */)) = ERR79
 15175  	goto FAILED
 15176  	return int32(0)
 15177  }
 15178  
 15179  // ************************************************
 15180  //
 15181  //       Find first significant opcode            *
 15182  //
 15183  
 15184  // This is called by several functions that scan a compiled expression looking
 15185  // for a fixed first character, or an anchoring opcode etc. It skips over things
 15186  // that do not influence this. For some calls, it makes sense to skip negative
 15187  // forward and all backward assertions, and also the \b assertion; for others it
 15188  // does not.
 15189  //
 15190  // Arguments:
 15191  //   code         pointer to the start of the group
 15192  //   skipassert   TRUE if certain assertions are to be skipped
 15193  //
 15194  // Returns:       pointer to the first significant opcode
 15195  
 15196  func first_significant_code(tls *libc.TLS, code TPCRE2_SPTR8, skipassert TBOOL) uintptr { /* pcre2_compile.c:4845:25: */
 15197  	for {
 15198  		switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) {
 15199  		case OP_ASSERT_NOT:
 15200  			fallthrough
 15201  		case OP_ASSERTBACK:
 15202  			fallthrough
 15203  		case OP_ASSERTBACK_NOT:
 15204  			fallthrough
 15205  		case OP_ASSERTBACK_NA:
 15206  			if !(skipassert != 0) {
 15207  				return code
 15208  			}
 15209  			for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 15210  				code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 15211  			}
 15212  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))])
 15213  			break
 15214  
 15215  		case OP_WORD_BOUNDARY:
 15216  			fallthrough
 15217  		case OP_NOT_WORD_BOUNDARY:
 15218  			if !(skipassert != 0) {
 15219  				return code
 15220  			}
 15221  			fallthrough
 15222  		// Fall through
 15223  
 15224  		case OP_CALLOUT:
 15225  			fallthrough
 15226  		case OP_CREF:
 15227  			fallthrough
 15228  		case OP_DNCREF:
 15229  			fallthrough
 15230  		case OP_RREF:
 15231  			fallthrough
 15232  		case OP_DNRREF:
 15233  			fallthrough
 15234  		case OP_FALSE:
 15235  			fallthrough
 15236  		case OP_TRUE:
 15237  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))])
 15238  			break
 15239  
 15240  		case OP_CALLOUT_STR:
 15241  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
 15242  			break
 15243  
 15244  		case OP_SKIPZERO:
 15245  			code += TPCRE2_SPTR8(uint32(2) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))) + uint32(DLINK_SIZE))
 15246  			break
 15247  
 15248  		case OP_COND:
 15249  			fallthrough
 15250  		case OP_SCOND:
 15251  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) != OP_FALSE || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))))) != OP_KET { // More than one branch
 15252  				return code
 15253  			}
 15254  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))) + uint32(1) + uint32(DLINK_SIZE))
 15255  			break
 15256  
 15257  		case OP_MARK:
 15258  			fallthrough
 15259  		case OP_COMMIT_ARG:
 15260  			fallthrough
 15261  		case OP_PRUNE_ARG:
 15262  			fallthrough
 15263  		case OP_SKIP_ARG:
 15264  			fallthrough
 15265  		case OP_THEN_ARG:
 15266  			code += TPCRE2_SPTR8(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) + int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))]))
 15267  			break
 15268  
 15269  		default:
 15270  			return code
 15271  		}
 15272  	}
 15273  	return uintptr(0)
 15274  	// Control never reaches here
 15275  }
 15276  
 15277  // ************************************************
 15278  //
 15279  //           Get othercase range                  *
 15280  //
 15281  
 15282  // This function is passed the start and end of a class range in UCP mode. It
 15283  // searches up the characters, looking for ranges of characters in the "other"
 15284  // case. Each call returns the next one, updating the start address. A character
 15285  // with multiple other cases is returned on its own with a special return value.
 15286  //
 15287  // Arguments:
 15288  //   cptr        points to starting character value; updated
 15289  //   d           end value
 15290  //   ocptr       where to put start of othercase range
 15291  //   odptr       where to put end of othercase range
 15292  //
 15293  // Yield:        -1 when no more
 15294  //                0 when a range is returned
 15295  //               >0 the CASESET offset for char with multiple other cases
 15296  //                 in this case, ocptr contains the original
 15297  
 15298  func get_othercase_range(tls *libc.TLS, cptr uintptr, d Tuint32_t, ocptr uintptr, odptr uintptr) int32 { /* pcre2_compile.c:4932:1: */
 15299  	var c Tuint32_t
 15300  	var othercase Tuint32_t
 15301  	var next Tuint32_t
 15302  	var co uint32
 15303  
 15304  	// Find the first character that has an other case. If it has multiple other
 15305  	// cases, return its case offset value.
 15306  
 15307  	for c = *(*Tuint32_t)(unsafe.Pointer(cptr)); c <= d; c++ {
 15308  		if libc.AssignUint32(&co, uint32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fcaseset)) != uint32(0) {
 15309  			*(*Tuint32_t)(unsafe.Pointer(ocptr)) = libc.PostIncUint32(&c, 1) // Character that has the set
 15310  			*(*Tuint32_t)(unsafe.Pointer(cptr)) = c                          // Rest of input range
 15311  			return int32(co)
 15312  		}
 15313  		if libc.AssignUint32(&othercase, Tuint32_t(int32(c)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fother_case)) != c {
 15314  			break
 15315  		}
 15316  	}
 15317  
 15318  	if c > d {
 15319  		return -1
 15320  	} // Reached end of range
 15321  
 15322  	// Found a character that has a single other case. Search for the end of the
 15323  	// range, which is either the end of the input range, or a character that has zero
 15324  	// or more than one other cases.
 15325  
 15326  	*(*Tuint32_t)(unsafe.Pointer(ocptr)) = othercase
 15327  	next = othercase + Tuint32_t(1)
 15328  
 15329  	for c++; c <= d; c++ {
 15330  		if libc.AssignUint32(&co, uint32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fcaseset)) != uint32(0) || Tuint32_t(int32(c)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fother_case) != next {
 15331  			break
 15332  		}
 15333  		next++
 15334  	}
 15335  
 15336  	*(*Tuint32_t)(unsafe.Pointer(odptr)) = next - Tuint32_t(1) // End of othercase range
 15337  	*(*Tuint32_t)(unsafe.Pointer(cptr)) = c                    // Rest of input range
 15338  	return 0
 15339  }
 15340  
 15341  // ************************************************
 15342  //
 15343  // Add a character or range to a class (internal) *
 15344  //
 15345  
 15346  // This function packages up the logic of adding a character or range of
 15347  // characters to a class. The character values in the arguments will be within the
 15348  // valid values for the current mode (8-bit, 16-bit, UTF, etc). This function is
 15349  // called only from within the "add to class" group of functions, some of which
 15350  // are recursive and mutually recursive. The external entry point is
 15351  // add_to_class().
 15352  //
 15353  // Arguments:
 15354  //   classbits     the bit map for characters < 256
 15355  //   uchardptr     points to the pointer for extra data
 15356  //   options       the options word
 15357  //   cb            compile data
 15358  //   start         start of range character
 15359  //   end           end of range character
 15360  //
 15361  // Returns:        the number of < 256 characters added
 15362  //                 the pointer to extra data is updated
 15363  
 15364  func add_to_class_internal(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, start Tuint32_t, end Tuint32_t) uint32 { /* pcre2_compile.c:4999:1: */
 15365  	bp := tls.Alloc(12)
 15366  	defer tls.Free(12)
 15367  
 15368  	// var c Tuint32_t at bp, 4
 15369  
 15370  	var classbits_end Tuint32_t = func() uint32 {
 15371  		if end <= Tuint32_t(0xff) {
 15372  			return end
 15373  		}
 15374  		return uint32(0xff)
 15375  	}()
 15376  	var n8 uint32 = uint32(0)
 15377  
 15378  	// If caseless matching is required, scan the range and process alternate
 15379  	// cases. In Unicode, there are 8-bit characters that have alternate cases that
 15380  	// are greater than 255 and vice-versa. Sometimes we can just extend the original
 15381  	// range.
 15382  
 15383  	if options&DPCRE2_CASELESS != Tuint32_t(0) {
 15384  		if options&(DPCRE2_UTF|DPCRE2_UCP) != Tuint32_t(0) {
 15385  			var rc int32
 15386  			// var oc Tuint32_t at bp+4, 4
 15387  
 15388  			// var od Tuint32_t at bp+8, 4
 15389  
 15390  			options = options & libc.CplUint32(DPCRE2_CASELESS) // Remove for recursive calls
 15391  			*(*Tuint32_t)(unsafe.Pointer(bp /* c */)) = start
 15392  
 15393  			for libc.AssignInt32(&rc, get_othercase_range(tls, bp, end, bp+4, bp+8)) >= 0 {
 15394  				// Handle a single character that has more than one other case.
 15395  
 15396  				if rc > 0 {
 15397  					n8 = n8 + add_list_to_class_internal(tls, classbits, uchardptr, options, cb,
 15398  						uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8))+uintptr(rc)*4, *(*Tuint32_t)(unsafe.Pointer(bp + 4)))
 15399  				} else if *(*Tuint32_t)(unsafe.Pointer(bp + 4)) >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) <= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end {
 15400  					continue
 15401  				} else if *(*Tuint32_t)(unsafe.Pointer(bp + 4)) < start && *(*Tuint32_t)(unsafe.Pointer(bp + 8)) >= start-Tuint32_t(1) {
 15402  					start = *(*Tuint32_t)(unsafe.Pointer(bp + 4 /* oc */))
 15403  				} else if *(*Tuint32_t)(unsafe.Pointer(bp + 8)) > end && *(*Tuint32_t)(unsafe.Pointer(bp + 4)) <= end+Tuint32_t(1) {
 15404  					end = *(*Tuint32_t)(unsafe.Pointer(bp + 8 /* od */)) // Extend upwards
 15405  					if end > classbits_end {
 15406  						classbits_end = func() uint32 {
 15407  							if end <= Tuint32_t(0xff) {
 15408  								return end
 15409  							}
 15410  							return uint32(0xff)
 15411  						}()
 15412  					}
 15413  				} else {
 15414  					n8 = n8 + add_to_class_internal(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(bp + 4)), *(*Tuint32_t)(unsafe.Pointer(bp + 8)))
 15415  				}
 15416  			}
 15417  		} else {
 15418  
 15419  			// Not UTF mode
 15420  
 15421  			for *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) = start; *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) <= classbits_end; *(*Tuint32_t)(unsafe.Pointer(bp /* c */))++ {
 15422  				*(*Tuint8_t)(unsafe.Pointer(classbits + uintptr(int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))))))/8))) = Tuint8_t(uint32(*(*Tuint8_t)(unsafe.Pointer(classbits + uintptr(int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))))))/8)))) | uint32(1)<<(int32(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))))))&7))
 15423  				n8++
 15424  			}
 15425  		}
 15426  	}
 15427  
 15428  	// Now handle the originally supplied range. Adjust the final value according
 15429  	// to the bit length - this means that the same lists of (e.g.) horizontal spaces
 15430  	// can be used in all cases.
 15431  
 15432  	if options&DPCRE2_UTF == Tuint32_t(0) && end > uint32(0xffffffff)>>(32-DPCRE2_CODE_UNIT_WIDTH) {
 15433  		end = uint32(0xffffffff) >> (32 - DPCRE2_CODE_UNIT_WIDTH)
 15434  	}
 15435  
 15436  	if start > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start && end < (*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end {
 15437  		return n8
 15438  	}
 15439  
 15440  	// Use the bitmap for characters < 256. Otherwise use extra data.
 15441  
 15442  	for *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) = start; *(*Tuint32_t)(unsafe.Pointer(bp /* c */)) <= classbits_end; *(*Tuint32_t)(unsafe.Pointer(bp /* c */))++ {
 15443  		// Regardless of start, c will always be <= 255.
 15444  		*(*Tuint8_t)(unsafe.Pointer(classbits + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))/Tuint32_t(8)))) = Tuint8_t(uint32(*(*Tuint8_t)(unsafe.Pointer(classbits + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp))/Tuint32_t(8))))) | uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(bp))&Tuint32_t(7)))
 15445  		n8++
 15446  	}
 15447  
 15448  	if start <= Tuint32_t(0xff) {
 15449  		start = Tuint32_t(0xff + 1)
 15450  	}
 15451  
 15452  	if end >= start {
 15453  		var uchardata uintptr = *(*uintptr)(unsafe.Pointer(uchardptr))
 15454  
 15455  		if options&DPCRE2_UTF != Tuint32_t(0) {
 15456  			if start < end {
 15457  				*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&uchardata, 1))) = TPCRE2_UCHAR8(DXCL_RANGE)
 15458  				uchardata += uintptr(X_pcre2_ord2utf_8(tls, start, uchardata))
 15459  				uchardata += uintptr(X_pcre2_ord2utf_8(tls, end, uchardata))
 15460  			} else if start == end {
 15461  				*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&uchardata, 1))) = TPCRE2_UCHAR8(DXCL_SINGLE)
 15462  				uchardata += uintptr(X_pcre2_ord2utf_8(tls, start, uchardata))
 15463  			}
 15464  		} else {
 15465  		}
 15466  		*(*uintptr)(unsafe.Pointer(uchardptr)) = uchardata // Updata extra data pointer
 15467  	}
 15468  
 15469  	return n8 // Number of 8-bit characters
 15470  }
 15471  
 15472  // ************************************************
 15473  //
 15474  // Add a list of characters to a class (internal) *
 15475  //
 15476  
 15477  // This function is used for adding a list of case-equivalent characters to a
 15478  // class when in UTF mode. This function is called only from within
 15479  // add_to_class_internal(), with which it is mutually recursive.
 15480  //
 15481  // Arguments:
 15482  //   classbits     the bit map for characters < 256
 15483  //   uchardptr     points to the pointer for extra data
 15484  //   options       the options word
 15485  //   cb            contains pointers to tables etc.
 15486  //   p             points to row of 32-bit values, terminated by NOTACHAR
 15487  //   except        character to omit; this is used when adding lists of
 15488  //                   case-equivalent characters to avoid including the one we
 15489  //                   already know about
 15490  //
 15491  // Returns:        the number of < 256 characters added
 15492  //                 the pointer to extra data is updated
 15493  
 15494  func add_list_to_class_internal(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, p uintptr, except uint32) uint32 { /* pcre2_compile.c:5154:1: */
 15495  	var n8 uint32 = uint32(0)
 15496  	for *(*Tuint32_t)(unsafe.Pointer(p)) < DNOTACHAR {
 15497  		var n uint32 = uint32(0)
 15498  		if *(*Tuint32_t)(unsafe.Pointer(p)) != except {
 15499  			for *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n+uint32(1))*4)) == *(*Tuint32_t)(unsafe.Pointer(p))+n+Tuint32_t(1) {
 15500  				n++
 15501  			}
 15502  			n8 = n8 + add_to_class_internal(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(p)), *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n)*4)))
 15503  		}
 15504  		p += 4 * uintptr(n+uint32(1))
 15505  	}
 15506  	return n8
 15507  }
 15508  
 15509  // ************************************************
 15510  //
 15511  //   External entry point for add range to class  *
 15512  //
 15513  
 15514  // This function sets the overall range so that the internal functions can try
 15515  // to avoid duplication when handling case-independence.
 15516  //
 15517  // Arguments:
 15518  //   classbits     the bit map for characters < 256
 15519  //   uchardptr     points to the pointer for extra data
 15520  //   options       the options word
 15521  //   cb            compile data
 15522  //   start         start of range character
 15523  //   end           end of range character
 15524  //
 15525  // Returns:        the number of < 256 characters added
 15526  //                 the pointer to extra data is updated
 15527  
 15528  func add_to_class(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, start Tuint32_t, end Tuint32_t) uint32 { /* pcre2_compile.c:5194:1: */
 15529  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start = start
 15530  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end = end
 15531  	return add_to_class_internal(tls, classbits, uchardptr, options, cb, start, end)
 15532  }
 15533  
 15534  // ************************************************
 15535  //
 15536  //   External entry point for add list to class   *
 15537  //
 15538  
 15539  // This function is used for adding a list of horizontal or vertical whitespace
 15540  // characters to a class. The list must be in order so that ranges of characters
 15541  // can be detected and handled appropriately. This function sets the overall range
 15542  // so that the internal functions can try to avoid duplication when handling
 15543  // case-independence.
 15544  //
 15545  // Arguments:
 15546  //   classbits     the bit map for characters < 256
 15547  //   uchardptr     points to the pointer for extra data
 15548  //   options       the options word
 15549  //   cb            contains pointers to tables etc.
 15550  //   p             points to row of 32-bit values, terminated by NOTACHAR
 15551  //   except        character to omit; this is used when adding lists of
 15552  //                   case-equivalent characters to avoid including the one we
 15553  //                   already know about
 15554  //
 15555  // Returns:        the number of < 256 characters added
 15556  //                 the pointer to extra data is updated
 15557  
 15558  func add_list_to_class(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, p uintptr, except uint32) uint32 { /* pcre2_compile.c:5228:1: */
 15559  	var n8 uint32 = uint32(0)
 15560  	for *(*Tuint32_t)(unsafe.Pointer(p)) < DNOTACHAR {
 15561  		var n uint32 = uint32(0)
 15562  		if *(*Tuint32_t)(unsafe.Pointer(p)) != except {
 15563  			for *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n+uint32(1))*4)) == *(*Tuint32_t)(unsafe.Pointer(p))+n+Tuint32_t(1) {
 15564  				n++
 15565  			}
 15566  			(*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_start = *(*Tuint32_t)(unsafe.Pointer(p))
 15567  			(*Tcompile_block_8)(unsafe.Pointer(cb)).Fclass_range_end = *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n)*4))
 15568  			n8 = n8 + add_to_class_internal(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(p)), *(*Tuint32_t)(unsafe.Pointer(p + uintptr(n)*4)))
 15569  		}
 15570  		p += 4 * uintptr(n+uint32(1))
 15571  	}
 15572  	return n8
 15573  }
 15574  
 15575  // ************************************************
 15576  //
 15577  //    Add characters not in a list to a class     *
 15578  //
 15579  
 15580  // This function is used for adding the complement of a list of horizontal or
 15581  // vertical whitespace to a class. The list must be in order.
 15582  //
 15583  // Arguments:
 15584  //   classbits     the bit map for characters < 256
 15585  //   uchardptr     points to the pointer for extra data
 15586  //   options       the options word
 15587  //   cb            contains pointers to tables etc.
 15588  //   p             points to row of 32-bit values, terminated by NOTACHAR
 15589  //
 15590  // Returns:        the number of < 256 characters added
 15591  //                 the pointer to extra data is updated
 15592  
 15593  func add_not_list_to_class(tls *libc.TLS, classbits uintptr, uchardptr uintptr, options Tuint32_t, cb uintptr, p uintptr) uint32 { /* pcre2_compile.c:5268:1: */
 15594  	var utf TBOOL = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0))
 15595  	var n8 uint32 = uint32(0)
 15596  	if *(*Tuint32_t)(unsafe.Pointer(p)) > Tuint32_t(0) {
 15597  		n8 = n8 + add_to_class(tls, classbits, uchardptr, options, cb, uint32(0), *(*Tuint32_t)(unsafe.Pointer(p))-Tuint32_t(1))
 15598  	}
 15599  	for *(*Tuint32_t)(unsafe.Pointer(p)) < DNOTACHAR {
 15600  		for *(*Tuint32_t)(unsafe.Pointer(p + 1*4)) == *(*Tuint32_t)(unsafe.Pointer(p))+Tuint32_t(1) {
 15601  			p += 4
 15602  		}
 15603  		n8 = n8 + add_to_class(tls, classbits, uchardptr, options, cb, *(*Tuint32_t)(unsafe.Pointer(p))+Tuint32_t(1),
 15604  			func() uint32 {
 15605  				if *(*Tuint32_t)(unsafe.Pointer(p + 1*4)) == DNOTACHAR {
 15606  					return func() uint32 {
 15607  						if utf != 0 {
 15608  							return 0x10ffff
 15609  						}
 15610  						return 0xffffffff
 15611  					}()
 15612  				}
 15613  				return *(*Tuint32_t)(unsafe.Pointer(p + 1*4)) - Tuint32_t(1)
 15614  			}())
 15615  		p += 4
 15616  	}
 15617  	return n8
 15618  }
 15619  
 15620  // ************************************************
 15621  //
 15622  //    Find details of duplicate group names       *
 15623  //
 15624  
 15625  // This is called from compile_branch() when it needs to know the index and
 15626  // count of duplicates in the names table when processing named backreferences,
 15627  // either directly, or as conditions.
 15628  //
 15629  // Arguments:
 15630  //   name          points to the name
 15631  //   length        the length of the name
 15632  //   indexptr      where to put the index
 15633  //   countptr      where to put the count of duplicates
 15634  //   errorcodeptr  where to put an error code
 15635  //   cb            the compile block
 15636  //
 15637  // Returns:        TRUE if OK, FALSE if not, error code set
 15638  
 15639  func find_dupname_details(tls *libc.TLS, name TPCRE2_SPTR8, length Tuint32_t, indexptr uintptr, countptr uintptr, errorcodeptr uintptr, cb uintptr) TBOOL { /* pcre2_compile.c:5307:1: */
 15640  	var i Tuint32_t
 15641  	var groupnumber Tuint32_t
 15642  	var count int32
 15643  	var slot uintptr = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_table
 15644  
 15645  	// Find the first entry in the table
 15646  
 15647  	for i = Tuint32_t(0); i < Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found); i++ {
 15648  		if X_pcre2_strncmp_8(tls, name, slot+uintptr(DIMM2_SIZE), uint64(length)) == 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + uintptr(Tuint32_t(DIMM2_SIZE)+length)))) == 0 {
 15649  			break
 15650  		}
 15651  		slot += uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)
 15652  	}
 15653  
 15654  	// This should not occur, because this function is called only when we know we
 15655  	// have duplicate names. Give an internal error.
 15656  
 15657  	if i >= Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) {
 15658  		*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR53
 15659  		(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = Tsize_t((int64(name) - int64((*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern)) / 1)
 15660  		return DFALSE
 15661  	}
 15662  
 15663  	// Record the index and then see how many duplicates there are, updating the
 15664  	// backref map and maximum back reference as we do.
 15665  
 15666  	*(*int32)(unsafe.Pointer(indexptr)) = int32(i)
 15667  	count = 0
 15668  
 15669  	for {
 15670  		count++
 15671  		groupnumber = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1))))
 15672  		*(*Tuint32_t)(unsafe.Pointer(cb + 252)) |= func() uint32 {
 15673  			if groupnumber < Tuint32_t(32) {
 15674  				return uint32(1) << groupnumber
 15675  			}
 15676  			return uint32(1)
 15677  		}()
 15678  		if groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref {
 15679  			(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = groupnumber
 15680  		}
 15681  		if libc.PreIncUint32(&i, 1) >= Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found) {
 15682  			break
 15683  		}
 15684  		slot += uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)
 15685  		if X_pcre2_strncmp_8(tls, name, slot+uintptr(DIMM2_SIZE), uint64(length)) != 0 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + uintptr(DIMM2_SIZE) + uintptr(length)))) != 0 {
 15686  			break
 15687  		}
 15688  	}
 15689  
 15690  	*(*int32)(unsafe.Pointer(countptr)) = count
 15691  	return DTRUE
 15692  }
 15693  
 15694  // ************************************************
 15695  //
 15696  //           Compile one branch                   *
 15697  //
 15698  
 15699  // Scan the parsed pattern, compiling it into the a vector of PCRE2_UCHAR. If
 15700  // the options are changed during the branch, the pointer is used to change the
 15701  // external options bits. This function is used during the pre-compile phase when
 15702  // we are trying to find out the amount of memory needed, as well as during the
 15703  // real compile phase. The value of lengthptr distinguishes the two phases.
 15704  //
 15705  // Arguments:
 15706  //   optionsptr        pointer to the option bits
 15707  //   codeptr           points to the pointer to the current code point
 15708  //   pptrptr           points to the current parsed pattern pointer
 15709  //   errorcodeptr      points to error code variable
 15710  //   firstcuptr        place to put the first required code unit
 15711  //   firstcuflagsptr   place to put the first code unit flags
 15712  //   reqcuptr          place to put the last required code unit
 15713  //   reqcuflagsptr     place to put the last required code unit flags
 15714  //   bcptr             points to current branch chain
 15715  //   cb                contains pointers to tables etc.
 15716  //   lengthptr         NULL during the real compile phase
 15717  //                     points to length accumulator during pre-compile phase
 15718  //
 15719  // Returns:            0 There's been an error, *errorcodeptr is non-zero
 15720  //                    +1 Success, this branch must match at least one character
 15721  //                    -1 Success, this branch may match an empty string
 15722  
 15723  func compile_branch(tls *libc.TLS, optionsptr uintptr, codeptr uintptr, pptrptr uintptr, errorcodeptr uintptr, firstcuptr uintptr, firstcuflagsptr uintptr, reqcuptr uintptr, reqcuflagsptr uintptr, bcptr uintptr, cb uintptr, lengthptr uintptr) int32 { /* pcre2_compile.c:5387:1: */
 15724  	bp := tls.Alloc(136)
 15725  	defer tls.Free(136)
 15726  
 15727  	var bravalue int32
 15728  	var okreturn int32
 15729  	var group_return int32
 15730  	var repeat_min Tuint32_t
 15731  	var repeat_max Tuint32_t // To please picky compilers
 15732  	var greedy_default Tuint32_t
 15733  	var greedy_non_default Tuint32_t
 15734  	var repeat_type Tuint32_t
 15735  	var op_type Tuint32_t
 15736  	var options Tuint32_t // May change dynamically
 15737  	var firstcu Tuint32_t
 15738  	var reqcu Tuint32_t
 15739  	var zeroreqcu Tuint32_t
 15740  	var zerofirstcu Tuint32_t
 15741  	var escape Tuint32_t
 15742  	// var pptr uintptr at bp+96, 8
 15743  
 15744  	var meta Tuint32_t
 15745  	var meta_arg Tuint32_t
 15746  	var firstcuflags Tuint32_t
 15747  	var reqcuflags Tuint32_t
 15748  	var zeroreqcuflags Tuint32_t
 15749  	var zerofirstcuflags Tuint32_t
 15750  	var req_caseopt Tuint32_t
 15751  	var reqvary Tuint32_t
 15752  	var tempreqvary Tuint32_t
 15753  	var offset Tsize_t
 15754  	// var length_prevgroup Tsize_t at bp+120, 8
 15755  
 15756  	var code uintptr
 15757  	var last_code uintptr
 15758  	var orig_code uintptr
 15759  	// var tempcode uintptr at bp+88, 8
 15760  
 15761  	var previous uintptr
 15762  	var op_previous TPCRE2_UCHAR8
 15763  	var groupsetfirstcu TBOOL
 15764  	var had_accept TBOOL
 15765  	var matched_char TBOOL
 15766  	var previous_matched_char TBOOL
 15767  	var reset_caseful TBOOL
 15768  	var cbits uintptr
 15769  	// var classbits [32]Tuint8_t at bp, 32
 15770  
 15771  	// We can fish out the UTF setting once and for all into a BOOL, but we must
 15772  	// not do this for other options (e.g. PCRE2_EXTENDED) because they may change
 15773  	// dynamically as we process the pattern.
 15774  
 15775  	var utf TBOOL
 15776  	var ucp TBOOL
 15777  
 15778  	// Helper variables for OP_XCLASS opcode (for characters > 255). We define
 15779  	// class_uchardata always so that it can be passed to add_to_class() always,
 15780  	// though it will not be used in non-UTF 8-bit cases. This avoids having to supply
 15781  	// alternative calls for the different cases.
 15782  
 15783  	// var class_uchardata uintptr at bp+64, 8
 15784  
 15785  	var xclass TBOOL
 15786  	var class_uchardata_base uintptr
 15787  	var d Tuint32_t
 15788  	var c Tuint32_t
 15789  	var d1 Tuint32_t
 15790  	var c1 Tuint32_t
 15791  	var i int32
 15792  	var i1 int32
 15793  	var local_negate TBOOL
 15794  	var posix_class int32
 15795  	var taboffset int32
 15796  	var tabopt int32
 15797  	// var pbits [32]Tuint8_t at bp+32, 32
 15798  
 15799  	var i2 int32
 15800  	var i3 int32
 15801  	var ptype Tuint32_t
 15802  	var pdata Tuint32_t
 15803  	var i4 int32
 15804  	var i5 int32
 15805  	var i6 int32
 15806  	var i7 int32
 15807  	var i8 int32
 15808  	var i9 int32
 15809  	var c2 Tuint32_t
 15810  	var d2 Tuint32_t
 15811  	var i10 int32
 15812  	var i11 int32
 15813  	// var count int32 at bp+84, 4
 15814  
 15815  	// var index int32 at bp+80, 4
 15816  
 15817  	var i12 uint32
 15818  	var name TPCRE2_SPTR8
 15819  	var ng uintptr
 15820  	var length Tuint32_t
 15821  	var tc uintptr
 15822  	var condcount int32
 15823  	// var count1 int32 at bp+132, 4
 15824  
 15825  	// var index1 int32 at bp+128, 4
 15826  
 15827  	var name1 TPCRE2_SPTR8
 15828  	var is_dupname TBOOL
 15829  	var ng1 uintptr
 15830  	var length1 Tuint32_t
 15831  	var i13 uint32
 15832  	var pp TPCRE2_SPTR8
 15833  	var delimiter Tuint32_t
 15834  	var length2 Tuint32_t
 15835  	var callout_string uintptr
 15836  	var lastchar uintptr
 15837  	var delta Tsize_t
 15838  	var replicate int32
 15839  	var i14 int32
 15840  	var linkoffset int32
 15841  	var delta1 Tsize_t
 15842  	var i15 Tuint32_t
 15843  	var delta2 Tsize_t
 15844  	var linkoffset1 int32
 15845  	var oldlinkoffset int32
 15846  	var linkoffset2 int32
 15847  	var bra uintptr
 15848  	var i16 Tuint32_t
 15849  	var nlen int32
 15850  	var ketcode uintptr
 15851  	var bracode uintptr
 15852  	var len int32
 15853  	var bralink uintptr
 15854  	var brazeroptr uintptr
 15855  	var prop_type int32
 15856  	var prop_value int32
 15857  	var oldcode uintptr
 15858  	var repcode uint32
 15859  	var len1 int32
 15860  	var ptype1 Tuint32_t
 15861  	var pdata1 Tuint32_t
 15862  	var caseset Tuint32_t
 15863  	var i17 int32
 15864  	var xclass_has_prop TBOOL
 15865  	var negate_class TBOOL
 15866  	var should_flip_negation TBOOL
 15867  	var match_all_or_no_wide_chars TBOOL
 15868  	var possessive_quantifier TBOOL
 15869  	var note_group_empty TBOOL
 15870  	var class_has_8bitchar int32
 15871  	var mclength Tuint32_t
 15872  	var skipunits Tuint32_t
 15873  	// var subreqcu Tuint32_t at bp+112, 4
 15874  
 15875  	// var subfirstcu Tuint32_t at bp+104, 4
 15876  
 15877  	var groupnumber Tuint32_t
 15878  	var verbarglen Tuint32_t
 15879  	var verbculen Tuint32_t
 15880  	// var subreqcuflags Tuint32_t at bp+116, 4
 15881  
 15882  	// var subfirstcuflags Tuint32_t at bp+108, 4
 15883  
 15884  	var oc uintptr
 15885  	// var mcbuffer [8]TPCRE2_UCHAR8 at bp+72, 8
 15886  	bravalue = 0
 15887  	okreturn = -1
 15888  	group_return = 0
 15889  	repeat_min = Tuint32_t(0)
 15890  	repeat_max = Tuint32_t(0)
 15891  	options = *(*Tuint32_t)(unsafe.Pointer(optionsptr))
 15892  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) = *(*uintptr)(unsafe.Pointer(pptrptr))
 15893  	offset = uint64(0)
 15894  	*(*Tsize_t)(unsafe.Pointer(bp + 120 /* length_prevgroup */)) = uint64(0)
 15895  	code = *(*uintptr)(unsafe.Pointer(codeptr))
 15896  	last_code = code
 15897  	orig_code = code
 15898  	previous = uintptr(0)
 15899  	groupsetfirstcu = DFALSE
 15900  	had_accept = DFALSE
 15901  	matched_char = DFALSE
 15902  	previous_matched_char = DFALSE
 15903  	reset_caseful = DFALSE
 15904  	cbits = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fcbits
 15905  	utf = libc.Bool32(options&DPCRE2_UTF != Tuint32_t(0))
 15906  	ucp = libc.Bool32(options&DPCRE2_UCP != Tuint32_t(0))
 15907  
 15908  	// Set up the default and non-default settings for greediness
 15909  
 15910  	greedy_default = Tuint32_t(libc.Bool32(options&DPCRE2_UNGREEDY != Tuint32_t(0)))
 15911  	greedy_non_default = greedy_default ^ Tuint32_t(1)
 15912  
 15913  	// Initialize no first unit, no required unit. REQ_UNSET means "no char
 15914  	// matching encountered yet". It gets changed to REQ_NONE if we hit something that
 15915  	// matches a non-fixed first unit; reqcu just remains unset if we never find one.
 15916  	//
 15917  	// When we hit a repeat whose minimum is zero, we may have to adjust these values
 15918  	// to take the zero repeat into account. This is implemented by setting them to
 15919  	// zerofirstcu and zeroreqcu when such a repeat is encountered. The individual
 15920  	// item types that can be repeated set these backoff variables appropriately.
 15921  
 15922  	firstcu = libc.AssignUint32(&reqcu, libc.AssignUint32(&zerofirstcu, libc.AssignUint32(&zeroreqcu, Tuint32_t(0))))
 15923  	firstcuflags = libc.AssignUint32(&reqcuflags, libc.AssignUint32(&zerofirstcuflags, libc.AssignUint32(&zeroreqcuflags, DREQ_UNSET)))
 15924  
 15925  	// The variable req_caseopt contains either the REQ_CASELESS bit or zero,
 15926  	// according to the current setting of the caseless flag. The REQ_CASELESS value
 15927  	// leaves the lower 28 bit empty. It is added into the firstcu or reqcu variables
 15928  	// to record the case status of the value. This is used only for ASCII characters.
 15929  
 15930  	if options&DPCRE2_CASELESS != Tuint32_t(0) {
 15931  		req_caseopt = DREQ_CASELESS
 15932  	} else {
 15933  		req_caseopt = uint32(0)
 15934  	}
 15935  
 15936  	// Switch on next META item until the end of the branch
 15937  
 15938  __1:
 15939  	;
 15940  
 15941  	// Get next META item in the pattern and its potential argument.
 15942  
 15943  	meta = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))) & 0xffff0000
 15944  	meta_arg = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))) & 0x0000ffff
 15945  
 15946  	// If we are in the pre-compile phase, accumulate the length used for the
 15947  	//   previous cycle of this loop, unless the next item is a quantifier.
 15948  
 15949  	if !(lengthptr != uintptr(0)) {
 15950  		goto __4
 15951  	}
 15952  
 15953  	if !(code > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace+uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size)-uintptr(100)) {
 15954  		goto __5
 15955  	} /* Check for overrun */
 15956  
 15957  	*(*int32)(unsafe.Pointer(errorcodeptr)) = func() int32 {
 15958  		if code >= (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_workspace+uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fworkspace_size) {
 15959  			return ERR52
 15960  		}
 15961  		return ERR86
 15962  	}()
 15963  	return 0
 15964  __5:
 15965  	;
 15966  
 15967  	// There is at least one situation where code goes backwards: this is the
 15968  	//     case of a zero quantifier after a class (e.g. [ab]{0}). When the quantifier
 15969  	//     is processed, the whole class is eliminated. However, it is created first,
 15970  	//     so we have to allow memory for it. Therefore, don't ever reduce the length
 15971  	//     at this point.
 15972  
 15973  	if !(code < last_code) {
 15974  		goto __6
 15975  	}
 15976  	code = last_code
 15977  __6:
 15978  	;
 15979  
 15980  	// If the next thing is not a quantifier, we add the length of the previous
 15981  	//     item into the total, and reset the code pointer to the start of the
 15982  	//     workspace. Otherwise leave the previous item available to be quantified.
 15983  
 15984  	if !(meta < DMETA_ASTERISK || meta > DMETA_MINMAX_QUERY) {
 15985  		goto __7
 15986  	}
 15987  
 15988  	if !(uint64(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < Tsize_t((int64(code)-int64(orig_code))/1)) {
 15989  		goto __8
 15990  	}
 15991  
 15992  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20 // Integer overflow
 15993  	return 0
 15994  __8:
 15995  	;
 15996  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t((int64(code) - int64(orig_code)) / 1)
 15997  	if !(*(*Tsize_t)(unsafe.Pointer(lengthptr)) > uint64(int32(1)<<16)) {
 15998  		goto __9
 15999  	}
 16000  
 16001  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20 // Pattern is too large
 16002  	return 0
 16003  __9:
 16004  	;
 16005  	code = orig_code
 16006  __7:
 16007  	;
 16008  
 16009  	// Remember where this code item starts so we can catch the "backwards"
 16010  	//     case above next time round.
 16011  
 16012  	last_code = code
 16013  __4:
 16014  	;
 16015  
 16016  	// Process the next parsed pattern item. If it is not a quantifier, remember
 16017  	//   where it starts so that it can be quantified when a quantifier follows.
 16018  	//   Checking for the legality of quantifiers happens in parse_regex(), except for
 16019  	//   a quantifier after an assertion that is a condition.
 16020  
 16021  	if !(meta < DMETA_ASTERISK || meta > DMETA_MINMAX_QUERY) {
 16022  		goto __10
 16023  	}
 16024  
 16025  	previous = code
 16026  	if !(matched_char != 0 && !(had_accept != 0)) {
 16027  		goto __11
 16028  	}
 16029  	okreturn = 1
 16030  __11:
 16031  	;
 16032  __10:
 16033  	;
 16034  
 16035  	previous_matched_char = matched_char
 16036  	matched_char = DFALSE
 16037  	note_group_empty = DFALSE
 16038  	skipunits = Tuint32_t(0) // Default value for most subgroups
 16039  
 16040  	switch meta {
 16041  	// ===================================================================
 16042  	// The branch terminates at pattern end or | or )
 16043  
 16044  	case DMETA_END:
 16045  		goto __13
 16046  	case DMETA_ALT:
 16047  		goto __14
 16048  	case DMETA_KET:
 16049  		goto __15
 16050  
 16051  	// ===================================================================
 16052  	// Handle single-character metacharacters. In multiline mode, ^ disables
 16053  	//     the setting of any following char as a first character.
 16054  
 16055  	case DMETA_CIRCUMFLEX:
 16056  		goto __16
 16057  
 16058  	case DMETA_DOLLAR:
 16059  		goto __17
 16060  
 16061  	// There can never be a first char if '.' is first, whatever happens about
 16062  	//     repeats. The value of reqcu doesn't change either.
 16063  
 16064  	case DMETA_DOT:
 16065  		goto __18
 16066  
 16067  	// ===================================================================
 16068  	// Empty character classes are allowed if PCRE2_ALLOW_EMPTY_CLASS is set.
 16069  	//     Otherwise, an initial ']' is taken as a data character. When empty classes
 16070  	//     are allowed, [] must always fail, so generate OP_FAIL, whereas [^] must
 16071  	//     match any character, so generate OP_ALLANY.
 16072  
 16073  	case DMETA_CLASS_EMPTY:
 16074  		goto __19
 16075  	case DMETA_CLASS_EMPTY_NOT:
 16076  		goto __20
 16077  
 16078  	// ===================================================================
 16079  	// Non-empty character class. If the included characters are all < 256, we
 16080  	//     build a 32-byte bitmap of the permitted characters, except in the special
 16081  	//     case where there is only one such character. For negated classes, we build
 16082  	//     the map as usual, then invert it at the end. However, we use a different
 16083  	//     opcode so that data characters > 255 can be handled correctly.
 16084  	//
 16085  	//     If the class contains characters outside the 0-255 range, a different
 16086  	//     opcode is compiled. It may optionally have a bit map for characters < 256,
 16087  	//     but those above are are explicitly listed afterwards. A flag code unit
 16088  	//     tells whether the bitmap is present, and whether this is a negated class or
 16089  	//     not.
 16090  
 16091  	case DMETA_CLASS_NOT:
 16092  		goto __21
 16093  	case DMETA_CLASS:
 16094  		goto __22 // End of class processing
 16095  
 16096  	// ===================================================================
 16097  	// Deal with (*VERB)s.
 16098  
 16099  	// Check for open captures before ACCEPT and close those that are within
 16100  	//     the same assertion level, also converting ACCEPT to ASSERT_ACCEPT in an
 16101  	//     assertion. In the first pass, just accumulate the length required;
 16102  	//     otherwise hitting (*ACCEPT) inside many nested parentheses can cause
 16103  	//     workspace overflow. Do not set firstcu after *ACCEPT.
 16104  
 16105  	case DMETA_ACCEPT:
 16106  		goto __23
 16107  
 16108  	case DMETA_PRUNE:
 16109  		goto __24
 16110  	case DMETA_SKIP:
 16111  		goto __25
 16112  	// Fall through
 16113  	case DMETA_COMMIT:
 16114  		goto __26
 16115  	case DMETA_FAIL:
 16116  		goto __27
 16117  
 16118  	case DMETA_THEN:
 16119  		goto __28
 16120  
 16121  	// Handle verbs with arguments. Arguments can be very long, especially in
 16122  	//     16- and 32-bit modes, and can overflow the workspace in the first pass.
 16123  	//     However, the argument length is constrained to be small enough to fit in
 16124  	//     one code unit. This check happens in parse_regex(). In the first pass,
 16125  	//     instead of putting the argument into memory, we just update the length
 16126  	//     counter and set up an empty argument.
 16127  
 16128  	case DMETA_THEN_ARG:
 16129  		goto __29
 16130  
 16131  	case DMETA_PRUNE_ARG:
 16132  		goto __30
 16133  	case DMETA_SKIP_ARG:
 16134  		goto __31
 16135  	// Fall through
 16136  	case DMETA_MARK:
 16137  		goto __32
 16138  	case DMETA_COMMIT_ARG:
 16139  		goto __33
 16140  
 16141  	// ===================================================================
 16142  	// Handle options change. The new setting must be passed back for use in
 16143  	//     subsequent branches. Reset the greedy defaults and the case value for
 16144  	//     firstcu and reqcu.
 16145  
 16146  	case DMETA_OPTIONS:
 16147  		goto __34
 16148  
 16149  	// ===================================================================
 16150  	// Handle conditional subpatterns. The case of (?(Rdigits) is ambiguous
 16151  	//     because it could be a numerical check on recursion, or a name check on a
 16152  	//     group's being set. The pre-pass sets up META_COND_RNUMBER as a name so that
 16153  	//     we can handle it either way. We first try for a name; if not found, process
 16154  	//     the number.
 16155  
 16156  	case DMETA_COND_RNUMBER:
 16157  		goto __35 // (?(Rdigits)
 16158  	case DMETA_COND_NAME:
 16159  		goto __36 // (?(name) or (?'name') or ?(<name>)
 16160  	case DMETA_COND_RNAME:
 16161  		goto __37
 16162  
 16163  	// The DEFINE condition is always false. Its internal groups may never
 16164  	//     be called, so matched_char must remain false, hence the jump to
 16165  	//     GROUP_PROCESS rather than GROUP_PROCESS_NOTE_EMPTY.
 16166  
 16167  	case DMETA_COND_DEFINE:
 16168  		goto __38
 16169  
 16170  	// Conditional test of a group's being set.
 16171  
 16172  	case DMETA_COND_NUMBER:
 16173  		goto __39
 16174  
 16175  	// Test for the PCRE2 version.
 16176  
 16177  	case DMETA_COND_VERSION:
 16178  		goto __40
 16179  
 16180  	// The condition is an assertion, possibly preceded by a callout.
 16181  
 16182  	case DMETA_COND_ASSERT:
 16183  		goto __41
 16184  
 16185  	// ===================================================================
 16186  	// Handle all kinds of nested bracketed groups. The non-capturing,
 16187  	//     non-conditional cases are here; others come to GROUP_PROCESS via goto.
 16188  
 16189  	case DMETA_LOOKAHEAD:
 16190  		goto __42
 16191  
 16192  	case DMETA_LOOKAHEAD_NA:
 16193  		goto __43
 16194  
 16195  	// Optimize (?!) to (*FAIL) unless it is quantified - which is a weird
 16196  	//     thing to do, but Perl allows all assertions to be quantified, and when
 16197  	//     they contain capturing parentheses there may be a potential use for
 16198  	//     this feature. Not that that applies to a quantified (?!) but we allow
 16199  	//     it for uniformity.
 16200  
 16201  	case DMETA_LOOKAHEADNOT:
 16202  		goto __44
 16203  
 16204  	case DMETA_LOOKBEHIND:
 16205  		goto __45
 16206  
 16207  	case DMETA_LOOKBEHINDNOT:
 16208  		goto __46
 16209  
 16210  	case DMETA_LOOKBEHIND_NA:
 16211  		goto __47
 16212  
 16213  	case DMETA_ATOMIC:
 16214  		goto __48
 16215  
 16216  	case DMETA_SCRIPT_RUN:
 16217  		goto __49
 16218  
 16219  	case DMETA_NOCAPTURE:
 16220  		goto __50 // End of nested group handling
 16221  
 16222  	// ===================================================================
 16223  	// Handle named backreferences and recursions.
 16224  
 16225  	case DMETA_BACKREF_BYNAME:
 16226  		goto __51
 16227  	case DMETA_RECURSE_BYNAME:
 16228  		goto __52
 16229  
 16230  	// ===================================================================
 16231  	// Handle a numerical callout.
 16232  
 16233  	case DMETA_CALLOUT_NUMBER:
 16234  		goto __53
 16235  
 16236  	// ===================================================================
 16237  	// Handle a callout with a string argument. In the pre-pass we just compute
 16238  	//     the length without generating anything. The length in pptr[3] includes both
 16239  	//     delimiters; in the actual compile only the first one is copied, but a
 16240  	//     terminating zero is added. Any doubled delimiters within the string make
 16241  	//     this an overestimate, but it is not worth bothering about.
 16242  
 16243  	case DMETA_CALLOUT_STRING:
 16244  		goto __54
 16245  
 16246  	// ===================================================================
 16247  	// Handle repetition. The different types are all sorted out in the parsing
 16248  	//     pass.
 16249  
 16250  	case DMETA_MINMAX_PLUS:
 16251  		goto __55
 16252  	case DMETA_MINMAX_QUERY:
 16253  		goto __56
 16254  	case DMETA_MINMAX:
 16255  		goto __57
 16256  
 16257  	case DMETA_ASTERISK:
 16258  		goto __58
 16259  	case DMETA_ASTERISK_PLUS:
 16260  		goto __59
 16261  	case DMETA_ASTERISK_QUERY:
 16262  		goto __60
 16263  
 16264  	case DMETA_PLUS:
 16265  		goto __61
 16266  	case DMETA_PLUS_PLUS:
 16267  		goto __62
 16268  	case DMETA_PLUS_QUERY:
 16269  		goto __63
 16270  
 16271  	case DMETA_QUERY:
 16272  		goto __64
 16273  	case DMETA_QUERY_PLUS:
 16274  		goto __65
 16275  	case DMETA_QUERY_QUERY:
 16276  		goto __66
 16277  
 16278  	// ===================================================================
 16279  	// Handle a 32-bit data character with a value greater than META_END.
 16280  
 16281  	case DMETA_BIGVALUE:
 16282  		goto __67
 16283  
 16284  	// ===============================================================
 16285  	// Handle a back reference by number, which is the meta argument. The
 16286  	//     pattern offsets for back references to group numbers less than 10 are held
 16287  	//     in a special vector, to avoid using more than two parsed pattern elements
 16288  	//     in 64-bit environments. We only need the offset to the first occurrence,
 16289  	//     because if that doesn't fail, subsequent ones will also be OK.
 16290  
 16291  	case DMETA_BACKREF:
 16292  		goto __68
 16293  
 16294  	// ===============================================================
 16295  	// Handle recursion by inserting the number of the called group (which is
 16296  	//     the meta argument) after OP_RECURSE. At the end of compiling the pattern is
 16297  	//     scanned and these numbers are replaced by offsets within the pattern. It is
 16298  	//     done like this to avoid problems with forward references and adjusting
 16299  	//     offsets when groups are duplicated and moved (as discovered in previous
 16300  	//     implementations). Note that a recursion does not have a set first
 16301  	//     character.
 16302  
 16303  	case DMETA_RECURSE:
 16304  		goto __69
 16305  
 16306  	// ===============================================================
 16307  	// Handle capturing parentheses; the number is the meta argument.
 16308  
 16309  	case DMETA_CAPTURE:
 16310  		goto __70
 16311  
 16312  	// ===============================================================
 16313  	// Handle escape sequence items. For ones like \d, the ESC_values are
 16314  	//     arranged to be the same as the corresponding OP_values in the default case
 16315  	//     when PCRE2_UCP is not set (which is the only case in which they will appear
 16316  	//     here).
 16317  	//
 16318  	//     Note: \Q and \E are never seen here, as they were dealt with in
 16319  	//     parse_pattern(). Neither are numerical back references or recursions, which
 16320  	//     were turned into META_BACKREF or META_RECURSE items, respectively. \k and
 16321  	//     \g, when followed by names, are turned into META_BACKREF_BYNAME or
 16322  	//     META_RECURSE_BYNAME.
 16323  
 16324  	case DMETA_ESCAPE:
 16325  		goto __71 // End META_ESCAPE
 16326  
 16327  	// ===================================================================
 16328  	// Handle an unrecognized meta value. A parsed pattern value less than
 16329  	//     META_END is a literal. Otherwise we have a problem.
 16330  
 16331  	default:
 16332  		goto __72
 16333  	}
 16334  	goto __12
 16335  
 16336  	// ===================================================================
 16337  	// The branch terminates at pattern end or | or )
 16338  
 16339  __13:
 16340  __14:
 16341  __15:
 16342  	*(*Tuint32_t)(unsafe.Pointer(firstcuptr)) = firstcu
 16343  	*(*Tuint32_t)(unsafe.Pointer(firstcuflagsptr)) = firstcuflags
 16344  	*(*Tuint32_t)(unsafe.Pointer(reqcuptr)) = reqcu
 16345  	*(*Tuint32_t)(unsafe.Pointer(reqcuflagsptr)) = reqcuflags
 16346  	*(*uintptr)(unsafe.Pointer(codeptr)) = code
 16347  	*(*uintptr)(unsafe.Pointer(pptrptr)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */))
 16348  	return okreturn
 16349  
 16350  	// ===================================================================
 16351  	// Handle single-character metacharacters. In multiline mode, ^ disables
 16352  	//     the setting of any following char as a first character.
 16353  
 16354  __16:
 16355  	if !(options&DPCRE2_MULTILINE != Tuint32_t(0)) {
 16356  		goto __73
 16357  	}
 16358  
 16359  	if !(firstcuflags == DREQ_UNSET) {
 16360  		goto __75
 16361  	}
 16362  	zerofirstcuflags = libc.AssignUint32(&firstcuflags, DREQ_NONE)
 16363  __75:
 16364  	;
 16365  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_CIRCM
 16366  	goto __74
 16367  __73:
 16368  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_CIRC
 16369  __74:
 16370  	;
 16371  	goto __12
 16372  
 16373  __17:
 16374  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 16375  		if options&DPCRE2_MULTILINE != Tuint32_t(0) {
 16376  			return OP_DOLLM
 16377  		}
 16378  		return OP_DOLL
 16379  	}()
 16380  	goto __12
 16381  
 16382  	// There can never be a first char if '.' is first, whatever happens about
 16383  	//     repeats. The value of reqcu doesn't change either.
 16384  
 16385  __18:
 16386  	matched_char = DTRUE
 16387  	if !(firstcuflags == DREQ_UNSET) {
 16388  		goto __76
 16389  	}
 16390  	firstcuflags = DREQ_NONE
 16391  __76:
 16392  	;
 16393  	zerofirstcu = firstcu
 16394  	zerofirstcuflags = firstcuflags
 16395  	zeroreqcu = reqcu
 16396  	zeroreqcuflags = reqcuflags
 16397  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 16398  		if options&DPCRE2_DOTALL != Tuint32_t(0) {
 16399  			return OP_ALLANY
 16400  		}
 16401  		return OP_ANY
 16402  	}()
 16403  	goto __12
 16404  
 16405  	// ===================================================================
 16406  	// Empty character classes are allowed if PCRE2_ALLOW_EMPTY_CLASS is set.
 16407  	//     Otherwise, an initial ']' is taken as a data character. When empty classes
 16408  	//     are allowed, [] must always fail, so generate OP_FAIL, whereas [^] must
 16409  	//     match any character, so generate OP_ALLANY.
 16410  
 16411  __19:
 16412  __20:
 16413  	matched_char = DTRUE
 16414  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 16415  		if meta == DMETA_CLASS_EMPTY_NOT {
 16416  			return OP_ALLANY
 16417  		}
 16418  		return OP_FAIL
 16419  	}()
 16420  	if !(firstcuflags == DREQ_UNSET) {
 16421  		goto __77
 16422  	}
 16423  	firstcuflags = DREQ_NONE
 16424  __77:
 16425  	;
 16426  	zerofirstcu = firstcu
 16427  	zerofirstcuflags = firstcuflags
 16428  	goto __12
 16429  
 16430  	// ===================================================================
 16431  	// Non-empty character class. If the included characters are all < 256, we
 16432  	//     build a 32-byte bitmap of the permitted characters, except in the special
 16433  	//     case where there is only one such character. For negated classes, we build
 16434  	//     the map as usual, then invert it at the end. However, we use a different
 16435  	//     opcode so that data characters > 255 can be handled correctly.
 16436  	//
 16437  	//     If the class contains characters outside the 0-255 range, a different
 16438  	//     opcode is compiled. It may optionally have a bit map for characters < 256,
 16439  	//     but those above are are explicitly listed afterwards. A flag code unit
 16440  	//     tells whether the bitmap is present, and whether this is a negated class or
 16441  	//     not.
 16442  
 16443  __21:
 16444  __22:
 16445  	matched_char = DTRUE
 16446  	negate_class = libc.Bool32(meta == DMETA_CLASS_NOT)
 16447  
 16448  	// We can optimize the case of a single character in a class by generating
 16449  	//     OP_CHAR or OP_CHARI if it's positive, or OP_NOT or OP_NOTI if it's
 16450  	//     negative. In the negative case there can be no first char if this item is
 16451  	//     first, whatever repeat count may follow. In the case of reqcu, save the
 16452  	//     previous value for reinstating.
 16453  
 16454  	// NOTE: at present this optimization is not effective if the only
 16455  	//     character in a class in 32-bit, non-UCP mode has its top bit set.
 16456  
 16457  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) < DMETA_END && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) == DMETA_CLASS_END) {
 16458  		goto __78
 16459  	}
 16460  
 16461  	c = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) + 1*4))
 16462  
 16463  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2) // Move on to class end
 16464  	if !(meta == DMETA_CLASS) {
 16465  		goto __79
 16466  	} /* A positive one-char class can be */
 16467  	// handled as a normal literal character.
 16468  	meta = c // Set up the character
 16469  	goto NORMAL_CHAR_SET
 16470  __79:
 16471  	;
 16472  
 16473  	// Handle a negative one-character class
 16474  
 16475  	zeroreqcu = reqcu
 16476  	zeroreqcuflags = reqcuflags
 16477  	if !(firstcuflags == DREQ_UNSET) {
 16478  		goto __80
 16479  	}
 16480  	firstcuflags = DREQ_NONE
 16481  __80:
 16482  	;
 16483  	zerofirstcu = firstcu
 16484  	zerofirstcuflags = firstcuflags
 16485  
 16486  	// For caseless UTF or UCP mode, check whether this character has more
 16487  	//       than one other case. If so, generate a special OP_NOTPROP item instead of
 16488  	//       OP_NOTI.
 16489  
 16490  	if !((utf != 0 || ucp != 0) && options&DPCRE2_CASELESS != Tuint32_t(0) && libc.AssignUint32(&d, Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fcaseset)) != Tuint32_t(0)) {
 16491  		goto __81
 16492  	}
 16493  
 16494  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_NOTPROP
 16495  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(DPT_CLIST)
 16496  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(d)
 16497  	goto __12 // We are finished with this class
 16498  __81:
 16499  	;
 16500  	// Char has only one other case, or UCP not available
 16501  
 16502  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 16503  		if options&DPCRE2_CASELESS != Tuint32_t(0) {
 16504  			return OP_NOTI
 16505  		}
 16506  		return OP_NOT
 16507  	}()
 16508  	code += func() uintptr {
 16509  		if utf != 0 && c > Tuint32_t(DMAX_UTF_SINGLE_CU) {
 16510  			return uintptr(X_pcre2_ord2utf_8(tls, c, code))
 16511  		}
 16512  		return uintptr(func() int32 { *(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(c); return 1 }())
 16513  	}()
 16514  	goto __12 // We are finished with this class
 16515  __78:
 16516  	; // End of 1-char optimization
 16517  
 16518  	// Handle character classes that contain more than just one literal
 16519  	//     character. If there are exactly two characters in a positive class, see if
 16520  	//     they are case partners. This can be optimized to generate a caseless single
 16521  	//     character match (which also sets first/required code units if relevant).
 16522  
 16523  	if !(meta == DMETA_CLASS && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) < DMETA_END && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) < DMETA_END && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 3*4)) == DMETA_CLASS_END) {
 16524  		goto __82
 16525  	}
 16526  
 16527  	c1 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) + 1*4))
 16528  
 16529  	if !(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c1)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c1)%DUCD_BLOCK_SIZE])*12)).Fcaseset) == 0) {
 16530  		goto __83
 16531  	}
 16532  
 16533  	if !((utf != 0 || ucp != 0) && c1 > Tuint32_t(127)) {
 16534  		goto __84
 16535  	}
 16536  	d1 = Tuint32_t(int32(c1) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c1)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c1)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 16537  	goto __85
 16538  __84:
 16539  
 16540  	d1 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Ffcc + uintptr(c1))))
 16541  __85:
 16542  	;
 16543  
 16544  	if !(c1 != d1 && *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) == d1) {
 16545  		goto __86
 16546  	}
 16547  
 16548  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3) // Move on to class end
 16549  	meta = c1
 16550  	if !(options&DPCRE2_CASELESS == Tuint32_t(0)) {
 16551  		goto __87
 16552  	}
 16553  
 16554  	reset_caseful = DTRUE
 16555  	options = options | DPCRE2_CASELESS
 16556  	req_caseopt = DREQ_CASELESS
 16557  __87:
 16558  	;
 16559  	goto CLASS_CASELESS_CHAR
 16560  __86:
 16561  	;
 16562  __83:
 16563  	;
 16564  __82:
 16565  	;
 16566  
 16567  	// If a non-extended class contains a negative special such as \S, we need
 16568  	//     to flip the negation flag at the end, so that support for characters > 255
 16569  	//     works correctly (they are all included in the class). An extended class may
 16570  	//     need to insert specific matching or non-matching code for wide characters.
 16571  	//
 16572  
 16573  	should_flip_negation = libc.AssignInt32(&match_all_or_no_wide_chars, DFALSE)
 16574  
 16575  	// Extended class (xclass) will be used when characters > 255
 16576  	//     might match.
 16577  
 16578  	xclass = DFALSE
 16579  	*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) = code + uintptr(DLINK_SIZE) + uintptr(2) // For XCLASS items
 16580  	class_uchardata_base = *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */))                    // Save the start
 16581  
 16582  	// For optimization purposes, we track some properties of the class:
 16583  	//     class_has_8bitchar will be non-zero if the class contains at least one
 16584  	//     character with a code point less than 256; xclass_has_prop will be TRUE if
 16585  	//     Unicode property checks are present in the class.
 16586  
 16587  	class_has_8bitchar = 0
 16588  	xclass_has_prop = DFALSE
 16589  
 16590  	// Initialize the 256-bit (32-byte) bit map to all zeros. We build the map
 16591  	//     in a temporary bit of memory, in case the class contains fewer than two
 16592  	//     8-bit characters because in that case the compiled code doesn't use the bit
 16593  	//     map.
 16594  
 16595  	libc.Xmemset(tls, bp, 0, uint64(32)*uint64(unsafe.Sizeof(Tuint8_t(0))))
 16596  
 16597  	// Process items until META_CLASS_END is reached.
 16598  
 16599  __88:
 16600  	if !(libc.AssignUint32(&meta, *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))) != DMETA_CLASS_END) {
 16601  		goto __89
 16602  	}
 16603  
 16604  	// Handle POSIX classes such as [:alpha:] etc.
 16605  
 16606  	if !(meta == DMETA_POSIX || meta == DMETA_POSIX_NEG) {
 16607  		goto __90
 16608  	}
 16609  
 16610  	local_negate = libc.Bool32(meta == DMETA_POSIX_NEG)
 16611  	posix_class = int32(*(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))))
 16612  
 16613  	should_flip_negation = local_negate // Note negative special
 16614  
 16615  	// If matching is caseless, upper and lower are converted to alpha.
 16616  	//         This relies on the fact that the class table starts with alpha,
 16617  	//         lower, upper as the first 3 entries.
 16618  
 16619  	if !(options&DPCRE2_CASELESS != Tuint32_t(0) && posix_class <= 2) {
 16620  		goto __91
 16621  	}
 16622  	posix_class = 0
 16623  __91:
 16624  	;
 16625  
 16626  	// When PCRE2_UCP is set, some of the POSIX classes are converted to
 16627  	//         different escape sequences that use Unicode properties \p or \P.
 16628  	//         Others that are not available via \p or \P have to generate
 16629  	//         XCL_PROP/XCL_NOTPROP directly, which is done here.
 16630  
 16631  	if !(options&DPCRE2_UCP != Tuint32_t(0)) {
 16632  		goto __92
 16633  	}
 16634  	switch posix_class {
 16635  	case DPC_GRAPH:
 16636  		goto __94
 16637  	case DPC_PRINT:
 16638  		goto __95
 16639  	case DPC_PUNCT:
 16640  		goto __96
 16641  
 16642  	// For the other POSIX classes (ascii, xdigit) we are going to
 16643  	//           fall through to the non-UCP case and build a bit map for
 16644  	//           characters with code points less than 256. However, if we are in
 16645  	//           a negated POSIX class, characters with code points greater than
 16646  	//           255 must either all match or all not match, depending on whether
 16647  	//           the whole class is not or is negated. For example, for
 16648  	//           [[:^ascii:]... they must all match, whereas for [^[:^xdigit:]...
 16649  	//           they must not.
 16650  	//
 16651  	//           In the special case where there are no xclass items, this is
 16652  	//           automatically handled by the use of OP_CLASS or OP_NCLASS, but an
 16653  	//           explicit range is needed for OP_XCLASS. Setting a flag here
 16654  	//           causes the range to be generated later when it is known that
 16655  	//           OP_XCLASS is required. In the 8-bit library this is relevant only in
 16656  	//           utf mode, since no wide characters can exist otherwise.
 16657  
 16658  	default:
 16659  		goto __97
 16660  	}
 16661  	goto __93
 16662  
 16663  __94:
 16664  __95:
 16665  __96:
 16666  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = func() uint8 {
 16667  		if local_negate != 0 {
 16668  			return uint8(DXCL_NOTPROP)
 16669  		}
 16670  		return uint8(DXCL_PROP)
 16671  	}()
 16672  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = func() uint8 {
 16673  		if posix_class == DPC_GRAPH {
 16674  			return uint8(DPT_PXGRAPH)
 16675  		}
 16676  		return func() uint8 {
 16677  			if posix_class == DPC_PRINT {
 16678  				return uint8(DPT_PXPRINT)
 16679  			}
 16680  			return uint8(DPT_PXPUNCT)
 16681  		}()
 16682  	}()
 16683  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(0)
 16684  	xclass_has_prop = DTRUE
 16685  	goto CONTINUE_CLASS
 16686  
 16687  	// For the other POSIX classes (ascii, xdigit) we are going to
 16688  	//           fall through to the non-UCP case and build a bit map for
 16689  	//           characters with code points less than 256. However, if we are in
 16690  	//           a negated POSIX class, characters with code points greater than
 16691  	//           255 must either all match or all not match, depending on whether
 16692  	//           the whole class is not or is negated. For example, for
 16693  	//           [[:^ascii:]... they must all match, whereas for [^[:^xdigit:]...
 16694  	//           they must not.
 16695  	//
 16696  	//           In the special case where there are no xclass items, this is
 16697  	//           automatically handled by the use of OP_CLASS or OP_NCLASS, but an
 16698  	//           explicit range is needed for OP_XCLASS. Setting a flag here
 16699  	//           causes the range to be generated later when it is known that
 16700  	//           OP_XCLASS is required. In the 8-bit library this is relevant only in
 16701  	//           utf mode, since no wide characters can exist otherwise.
 16702  
 16703  __97:
 16704  	if !(utf != 0) {
 16705  		goto __98
 16706  	}
 16707  	match_all_or_no_wide_chars = match_all_or_no_wide_chars | local_negate
 16708  __98:
 16709  	;
 16710  	goto __93
 16711  __93:
 16712  	;
 16713  __92:
 16714  	;
 16715  
 16716  	// In the non-UCP case, or when UCP makes no difference, we build the
 16717  	//         bit map for the POSIX class in a chunk of local store because we may
 16718  	//         be adding and subtracting from it, and we don't want to subtract bits
 16719  	//         that may be in the main map already. At the end we or the result into
 16720  	//         the bit map that is being built.
 16721  
 16722  	posix_class = posix_class * 3
 16723  
 16724  	// Copy in the first table (always present)
 16725  
 16726  	libc.Xmemcpy(tls, bp+32, cbits+uintptr(posix_class_maps[posix_class]),
 16727  		uint64(32)*uint64(unsafe.Sizeof(Tuint8_t(0))))
 16728  
 16729  	// If there is a second table, add or remove it as required.
 16730  
 16731  	taboffset = posix_class_maps[posix_class+1]
 16732  	tabopt = posix_class_maps[posix_class+2]
 16733  
 16734  	if !(taboffset >= 0) {
 16735  		goto __99
 16736  	}
 16737  
 16738  	if !(tabopt >= 0) {
 16739  		goto __100
 16740  	}
 16741  	{
 16742  		i = 0
 16743  	__102:
 16744  		if !(i < 32) {
 16745  			goto __104
 16746  		}
 16747  		*(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i+taboffset)))))
 16748  		goto __103
 16749  	__103:
 16750  		i++
 16751  		goto __102
 16752  		goto __104
 16753  	__104:
 16754  	}
 16755  	goto __101
 16756  __100:
 16757  	{
 16758  		i1 = 0
 16759  	__105:
 16760  		if !(i1 < 32) {
 16761  			goto __107
 16762  		}
 16763  		*(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i1))) &= Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i1+taboffset)))))
 16764  		goto __106
 16765  	__106:
 16766  		i1++
 16767  		goto __105
 16768  		goto __107
 16769  	__107:
 16770  	}
 16771  __101:
 16772  	;
 16773  __99:
 16774  	;
 16775  
 16776  	// Now see if we need to remove any special characters. An option
 16777  	//         value of 1 removes vertical space and 2 removes underscore.
 16778  
 16779  	if !(tabopt < 0) {
 16780  		goto __108
 16781  	}
 16782  	tabopt = -tabopt
 16783  __108:
 16784  	;
 16785  	if !(tabopt == 1) {
 16786  		goto __109
 16787  	}
 16788  	*(*Tuint8_t)(unsafe.Pointer(bp + 32 + 1)) &= libc.Uint8FromInt32(libc.CplInt32(0x3c))
 16789  	goto __110
 16790  __109:
 16791  	if !(tabopt == 2) {
 16792  		goto __111
 16793  	}
 16794  	*(*Tuint8_t)(unsafe.Pointer(bp + 32 + 11)) &= Tuint8_t(0x7f)
 16795  __111:
 16796  	;
 16797  __110:
 16798  	;
 16799  
 16800  	// Add the POSIX table or its complement into the main table that is
 16801  	//         being built and we are done.
 16802  
 16803  	if !(local_negate != 0) {
 16804  		goto __112
 16805  	}
 16806  	{
 16807  		i2 = 0
 16808  	__114:
 16809  		if !(i2 < 32) {
 16810  			goto __116
 16811  		}
 16812  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i2))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i2)))))))
 16813  		goto __115
 16814  	__115:
 16815  		i2++
 16816  		goto __114
 16817  		goto __116
 16818  	__116:
 16819  	}
 16820  	goto __113
 16821  __112:
 16822  	{
 16823  		i3 = 0
 16824  	__117:
 16825  		if !(i3 < 32) {
 16826  			goto __119
 16827  		}
 16828  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i3))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(bp + 32 + uintptr(i3)))))
 16829  		goto __118
 16830  	__118:
 16831  		i3++
 16832  		goto __117
 16833  		goto __119
 16834  	__119:
 16835  	}
 16836  __113:
 16837  	;
 16838  
 16839  	// Every class contains at least one < 256 character.
 16840  
 16841  	class_has_8bitchar = 1
 16842  	goto CONTINUE_CLASS // End of POSIX handling
 16843  __90:
 16844  	;
 16845  
 16846  	// Other than POSIX classes, the only items we should encounter are
 16847  	//       \d-type escapes and literal characters (possibly as ranges).
 16848  
 16849  	if !(meta == DMETA_BIGVALUE) {
 16850  		goto __120
 16851  	}
 16852  
 16853  	meta = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 16854  	goto CLASS_LITERAL
 16855  __120:
 16856  	;
 16857  
 16858  	// Any other non-literal must be an escape
 16859  
 16860  	if !(meta >= DMETA_END) {
 16861  		goto __121
 16862  	}
 16863  
 16864  	if !(meta&0xffff0000 != DMETA_ESCAPE) {
 16865  		goto __123
 16866  	}
 16867  
 16868  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR89 // Internal error - unrecognized.
 16869  	return 0
 16870  __123:
 16871  	;
 16872  	escape = meta & 0x0000ffff
 16873  
 16874  	// Every class contains at least one < 256 character.
 16875  
 16876  	class_has_8bitchar++
 16877  
 16878  	switch escape {
 16879  	case ESC_d:
 16880  		goto __125
 16881  
 16882  	case ESC_D:
 16883  		goto __126
 16884  
 16885  	case ESC_w:
 16886  		goto __127
 16887  
 16888  	case ESC_W:
 16889  		goto __128
 16890  
 16891  	// Perl 5.004 onwards omitted VT from \s, but restored it at Perl
 16892  	//           5.18. Before PCRE 8.34, we had to preserve the VT bit if it was
 16893  	//           previously set by something earlier in the character class.
 16894  	//           Luckily, the value of CHAR_VT is 0x0b in both ASCII and EBCDIC, so
 16895  	//           we could just adjust the appropriate bit. From PCRE 8.34 we no
 16896  	//           longer treat \s and \S specially.
 16897  
 16898  	case ESC_s:
 16899  		goto __129
 16900  
 16901  	case ESC_S:
 16902  		goto __130
 16903  
 16904  	// When adding the horizontal or vertical space lists to a class, or
 16905  	//           their complements, disable PCRE2_CASELESS, because it justs wastes
 16906  	//           time, and in the "not-x" UTF cases can create unwanted duplicates in
 16907  	//           the XCLASS list (provoked by characters that have more than one other
 16908  	//           case and by both cases being in the same "not-x" sublist).
 16909  
 16910  	case ESC_h:
 16911  		goto __131
 16912  
 16913  	case ESC_H:
 16914  		goto __132
 16915  
 16916  	case ESC_v:
 16917  		goto __133
 16918  
 16919  	case ESC_V:
 16920  		goto __134
 16921  
 16922  	// If Unicode is not supported, \P and \p are not allowed and are
 16923  	//           faulted at parse time, so will never appear here.
 16924  
 16925  	case ESC_p:
 16926  		goto __135
 16927  	case ESC_P:
 16928  		goto __136
 16929  	}
 16930  	goto __124
 16931  
 16932  __125:
 16933  	{
 16934  		i4 = 0
 16935  	__137:
 16936  		if !(i4 < 32) {
 16937  			goto __139
 16938  		}
 16939  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i4))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i4+Dcbit_digit)))))
 16940  		goto __138
 16941  	__138:
 16942  		i4++
 16943  		goto __137
 16944  		goto __139
 16945  	__139:
 16946  	}
 16947  	goto __124
 16948  
 16949  __126:
 16950  	should_flip_negation = DTRUE
 16951  	{
 16952  		i5 = 0
 16953  	__140:
 16954  		if !(i5 < 32) {
 16955  			goto __142
 16956  		}
 16957  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i5))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i5+Dcbit_digit)))))))
 16958  		goto __141
 16959  	__141:
 16960  		i5++
 16961  		goto __140
 16962  		goto __142
 16963  	__142:
 16964  	}
 16965  	goto __124
 16966  
 16967  __127:
 16968  	{
 16969  		i6 = 0
 16970  	__143:
 16971  		if !(i6 < 32) {
 16972  			goto __145
 16973  		}
 16974  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i6))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i6+Dcbit_word)))))
 16975  		goto __144
 16976  	__144:
 16977  		i6++
 16978  		goto __143
 16979  		goto __145
 16980  	__145:
 16981  	}
 16982  	goto __124
 16983  
 16984  __128:
 16985  	should_flip_negation = DTRUE
 16986  	{
 16987  		i7 = 0
 16988  	__146:
 16989  		if !(i7 < 32) {
 16990  			goto __148
 16991  		}
 16992  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i7))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i7+Dcbit_word)))))))
 16993  		goto __147
 16994  	__147:
 16995  		i7++
 16996  		goto __146
 16997  		goto __148
 16998  	__148:
 16999  	}
 17000  	goto __124
 17001  
 17002  	// Perl 5.004 onwards omitted VT from \s, but restored it at Perl
 17003  	//           5.18. Before PCRE 8.34, we had to preserve the VT bit if it was
 17004  	//           previously set by something earlier in the character class.
 17005  	//           Luckily, the value of CHAR_VT is 0x0b in both ASCII and EBCDIC, so
 17006  	//           we could just adjust the appropriate bit. From PCRE 8.34 we no
 17007  	//           longer treat \s and \S specially.
 17008  
 17009  __129:
 17010  	{
 17011  		i8 = 0
 17012  	__149:
 17013  		if !(i8 < 32) {
 17014  			goto __151
 17015  		}
 17016  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i8))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i8+Dcbit_space)))))
 17017  		goto __150
 17018  	__150:
 17019  		i8++
 17020  		goto __149
 17021  		goto __151
 17022  	__151:
 17023  	}
 17024  	goto __124
 17025  
 17026  __130:
 17027  	should_flip_negation = DTRUE
 17028  	{
 17029  		i9 = 0
 17030  	__152:
 17031  		if !(i9 < 32) {
 17032  			goto __154
 17033  		}
 17034  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i9))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer(cbits + uintptr(i9+Dcbit_space)))))))
 17035  		goto __153
 17036  	__153:
 17037  		i9++
 17038  		goto __152
 17039  		goto __154
 17040  	__154:
 17041  	}
 17042  	goto __124
 17043  
 17044  	// When adding the horizontal or vertical space lists to a class, or
 17045  	//           their complements, disable PCRE2_CASELESS, because it justs wastes
 17046  	//           time, and in the "not-x" UTF cases can create unwanted duplicates in
 17047  	//           the XCLASS list (provoked by characters that have more than one other
 17048  	//           case and by both cases being in the same "not-x" sublist).
 17049  
 17050  __131:
 17051  	add_list_to_class(tls, bp, bp+64,
 17052  		options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_hspace_list_8)), DNOTACHAR)
 17053  	goto __124
 17054  
 17055  __132:
 17056  	add_not_list_to_class(tls, bp, bp+64,
 17057  		options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_hspace_list_8)))
 17058  	goto __124
 17059  
 17060  __133:
 17061  	add_list_to_class(tls, bp, bp+64,
 17062  		options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_vspace_list_8)), DNOTACHAR)
 17063  	goto __124
 17064  
 17065  __134:
 17066  	add_not_list_to_class(tls, bp, bp+64,
 17067  		options&libc.CplUint32(DPCRE2_CASELESS), cb, uintptr(unsafe.Pointer(&X_pcre2_vspace_list_8)))
 17068  	goto __124
 17069  
 17070  	// If Unicode is not supported, \P and \p are not allowed and are
 17071  	//           faulted at parse time, so will never appear here.
 17072  
 17073  __135:
 17074  __136:
 17075  
 17076  	ptype = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) >> 16
 17077  	pdata = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))) & Tuint32_t(0xffff)
 17078  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = func() uint8 {
 17079  		if escape == ESC_p {
 17080  			return uint8(DXCL_PROP)
 17081  		}
 17082  		return uint8(DXCL_NOTPROP)
 17083  	}()
 17084  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(ptype)
 17085  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(pdata)
 17086  	xclass_has_prop = DTRUE
 17087  	class_has_8bitchar-- // Undo!
 17088  
 17089  	goto __124
 17090  __124:
 17091  	;
 17092  
 17093  	goto CONTINUE_CLASS
 17094  	goto __122
 17095  __121:
 17096  
 17097  CLASS_LITERAL:
 17098  	c2 = libc.AssignUint32(&d2, meta)
 17099  
 17100  	// Remember if \r or \n were explicitly used
 17101  
 17102  	if !(c2 == Tuint32_t('\015') || c2 == Tuint32_t('\012')) {
 17103  		goto __155
 17104  	}
 17105  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASCRORLF)
 17106  __155:
 17107  	;
 17108  
 17109  	// Process a character range
 17110  
 17111  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) == DMETA_RANGE_LITERAL || *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) == DMETA_RANGE_ESCAPED) {
 17112  		goto __156
 17113  	}
 17114  
 17115  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 17116  	d2 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */))))
 17117  	if !(d2 == DMETA_BIGVALUE) {
 17118  		goto __157
 17119  	}
 17120  	d2 = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 17121  __157:
 17122  	;
 17123  
 17124  	// Remember an explicit \r or \n, and add the range to the class.
 17125  
 17126  	if !(d2 == Tuint32_t('\015') || d2 == Tuint32_t('\012')) {
 17127  		goto __158
 17128  	}
 17129  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASCRORLF)
 17130  __158:
 17131  	;
 17132  
 17133  	// In an EBCDIC environment, Perl treats alphabetic ranges specially
 17134  	//           because there are holes in the encoding, and simply using the range
 17135  	//           A-Z (for example) would include the characters in the holes. This
 17136  	//           applies only to literal ranges; [\xC1-\xE9] is different to [A-Z].
 17137  
 17138  	// Not an EBCDIC special range
 17139  
 17140  	class_has_8bitchar = int32(uint32(class_has_8bitchar) + add_to_class(tls, bp, bp+64, options, cb, c2, d2))
 17141  	goto CONTINUE_CLASS // Go get the next char in the class
 17142  __156:
 17143  	; // End of range handling
 17144  
 17145  	// Handle a single character.
 17146  
 17147  	class_has_8bitchar = int32(uint32(class_has_8bitchar) + add_to_class(tls, bp, bp+64, options, cb, meta, meta))
 17148  __122:
 17149  	;
 17150  
 17151  	// Continue to the next item in the class.
 17152  
 17153  CONTINUE_CLASS:
 17154  
 17155  	// If any wide characters or Unicode properties have been encountered,
 17156  	//       set xclass = TRUE. Then, in the pre-compile phase, accumulate the length
 17157  	//       of the extra data and reset the pointer. This is so that very large
 17158  	//       classes that contain a zillion wide characters or Unicode property tests
 17159  	//       do not overwrite the workspace (which is on the stack).
 17160  
 17161  	if !(*(*uintptr)(unsafe.Pointer(bp + 64)) > class_uchardata_base) {
 17162  		goto __159
 17163  	}
 17164  
 17165  	xclass = DTRUE
 17166  	if !(lengthptr != uintptr(0)) {
 17167  		goto __160
 17168  	}
 17169  
 17170  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t((int64(*(*uintptr)(unsafe.Pointer(bp + 64))) - int64(class_uchardata_base)) / 1)
 17171  	*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) = class_uchardata_base
 17172  __160:
 17173  	;
 17174  __159:
 17175  	;
 17176  
 17177  	goto __88 // Needed to avoid error when not supporting wide chars
 17178  	goto __88
 17179  __89:
 17180  	; // End of main class-processing loop
 17181  
 17182  	// If this class is the first thing in the branch, there can be no first
 17183  	//     char setting, whatever the repeat count. Any reqcu setting must remain
 17184  	//     unchanged after any kind of repeat.
 17185  
 17186  	if !(firstcuflags == DREQ_UNSET) {
 17187  		goto __161
 17188  	}
 17189  	firstcuflags = DREQ_NONE
 17190  __161:
 17191  	;
 17192  	zerofirstcu = firstcu
 17193  	zerofirstcuflags = firstcuflags
 17194  	zeroreqcu = reqcu
 17195  	zeroreqcuflags = reqcuflags
 17196  
 17197  	// If there are characters with values > 255, or Unicode property settings
 17198  	//     (\p or \P), we have to compile an extended class, with its own opcode,
 17199  	//     unless there were no property settings and there was a negated special such
 17200  	//     as \S in the class, and PCRE2_UCP is not set, because in that case all
 17201  	//     characters > 255 are in or not in the class, so any that were explicitly
 17202  	//     given as well can be ignored.
 17203  	//
 17204  	//     In the UCP case, if certain negated POSIX classes ([:^ascii:] or
 17205  	//     [^:xdigit:]) were present in a class, we either have to match or not match
 17206  	//     all wide characters (depending on whether the whole class is or is not
 17207  	//     negated). This requirement is indicated by match_all_or_no_wide_chars being
 17208  	//     true. We do this by including an explicit range, which works in both cases.
 17209  	//     This applies only in UTF and 16-bit and 32-bit non-UTF modes, since there
 17210  	//     cannot be any wide characters in 8-bit non-UTF mode.
 17211  	//
 17212  	//     When there *are* properties in a positive UTF-8 or any 16-bit or 32_bit
 17213  	//     class where \S etc is present without PCRE2_UCP, causing an extended class
 17214  	//     to be compiled, we make sure that all characters > 255 are included by
 17215  	//     forcing match_all_or_no_wide_chars to be true.
 17216  	//
 17217  	//     If, when generating an xclass, there are no characters < 256, we can omit
 17218  	//     the bitmap in the actual compiled code.
 17219  
 17220  	if !(xclass != 0 && (options&DPCRE2_UCP != Tuint32_t(0) || xclass_has_prop != 0 || !(should_flip_negation != 0))) {
 17221  		goto __162
 17222  	}
 17223  
 17224  	if !(match_all_or_no_wide_chars != 0 || utf != 0 && should_flip_negation != 0 && !(negate_class != 0) && options&DPCRE2_UCP == Tuint32_t(0)) {
 17225  		goto __163
 17226  	}
 17227  
 17228  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(DXCL_RANGE)
 17229  	if !(utf != 0) {
 17230  		goto __164
 17231  	} /* Will always be utf in the 8-bit library */
 17232  
 17233  	*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) += uintptr(X_pcre2_ord2utf_8(tls, uint32(0x100), *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */))))
 17234  	*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)) += uintptr(X_pcre2_ord2utf_8(tls, uint32(DMAX_UTF_CODE_POINT), *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */))))
 17235  	goto __165
 17236  __164: /* Can only happen for the 16-bit & 32-bit libraries */
 17237  
 17238  	;
 17239  __165:
 17240  	;
 17241  __163:
 17242  	;
 17243  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */)), 1))) = TPCRE2_UCHAR8(DXCL_END) // Marks the end of extra data
 17244  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_XCLASS
 17245  	code += uintptr(DLINK_SIZE)
 17246  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = func() uint8 {
 17247  		if negate_class != 0 {
 17248  			return uint8(DXCL_NOT)
 17249  		}
 17250  		return uint8(0)
 17251  	}()
 17252  	if !(xclass_has_prop != 0) {
 17253  		goto __166
 17254  	}
 17255  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) |= TPCRE2_UCHAR8(DXCL_HASPROP)
 17256  __166:
 17257  	;
 17258  
 17259  	// If the map is required, move up the extra data to make room for it;
 17260  	//       otherwise just move the code pointer to the end of the extra data.
 17261  
 17262  	if !(class_has_8bitchar > 0) {
 17263  		goto __167
 17264  	}
 17265  
 17266  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) |= TPCRE2_UCHAR8(DXCL_MAP)
 17267  	libc.Xmemmove(tls, code+uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))), code,
 17268  		uint64((int64(*(*uintptr)(unsafe.Pointer(bp + 64)))-int64(code))/1*int64(DPCRE2_CODE_UNIT_WIDTH/8)))
 17269  	if !(negate_class != 0 && !(xclass_has_prop != 0)) {
 17270  		goto __169
 17271  	}
 17272  
 17273  	// Using 255 ^ instead of ~ avoids clang sanitize warning.
 17274  	{
 17275  		i10 = 0
 17276  	__170:
 17277  		if !(i10 < 32) {
 17278  			goto __172
 17279  		}
 17280  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i10))) = Tuint8_t(255 ^ int32(*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i10)))))
 17281  		goto __171
 17282  	__171:
 17283  		i10++
 17284  		goto __170
 17285  		goto __172
 17286  	__172:
 17287  	}
 17288  __169:
 17289  	;
 17290  	libc.Xmemcpy(tls, code, bp, uint64(32))
 17291  	code = *(*uintptr)(unsafe.Pointer(bp + 64)) + uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 17292  	goto __168
 17293  __167:
 17294  	code = *(*uintptr)(unsafe.Pointer(bp + 64 /* class_uchardata */))
 17295  __168:
 17296  	;
 17297  
 17298  	// Now fill in the complete length of the item
 17299  
 17300  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)) = TPCRE2_UCHAR8(int32((int64(code)-int64(previous))/1) >> 8)
 17301  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2)) = TPCRE2_UCHAR8(int32((int64(code)-int64(previous))/1) & 255)
 17302  	goto __12 // End of class handling
 17303  __162:
 17304  	;
 17305  
 17306  	// If there are no characters > 255, or they are all to be included or
 17307  	//     excluded, set the opcode to OP_CLASS or OP_NCLASS, depending on whether the
 17308  	//     whole class was negated and whether there were negative specials such as \S
 17309  	//     (non-UCP) in the class. Then copy the 32-byte map into the code vector,
 17310  	//     negating it if necessary.
 17311  
 17312  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 17313  		if negate_class == should_flip_negation {
 17314  			return OP_CLASS
 17315  		}
 17316  		return OP_NCLASS
 17317  	}()
 17318  	if !(lengthptr == uintptr(0)) {
 17319  		goto __173
 17320  	} /* Save time in the pre-compile phase */
 17321  
 17322  	if !(negate_class != 0) {
 17323  		goto __174
 17324  	}
 17325  
 17326  	// Using 255 ^ instead of ~ avoids clang sanitize warning.
 17327  	{
 17328  		i11 = 0
 17329  	__175:
 17330  		if !(i11 < 32) {
 17331  			goto __177
 17332  		}
 17333  		*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i11))) = Tuint8_t(255 ^ int32(*(*Tuint8_t)(unsafe.Pointer(bp + uintptr(i11)))))
 17334  		goto __176
 17335  	__176:
 17336  		i11++
 17337  		goto __175
 17338  		goto __177
 17339  	__177:
 17340  	}
 17341  __174:
 17342  	;
 17343  	libc.Xmemcpy(tls, code, bp, uint64(32))
 17344  __173:
 17345  	;
 17346  	code += uintptr(uint64(32) / uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 17347  	goto __12 // End of class processing
 17348  
 17349  	// ===================================================================
 17350  	// Deal with (*VERB)s.
 17351  
 17352  	// Check for open captures before ACCEPT and close those that are within
 17353  	//     the same assertion level, also converting ACCEPT to ASSERT_ACCEPT in an
 17354  	//     assertion. In the first pass, just accumulate the length required;
 17355  	//     otherwise hitting (*ACCEPT) inside many nested parentheses can cause
 17356  	//     workspace overflow. Do not set firstcu after *ACCEPT.
 17357  
 17358  __23:
 17359  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_accept = libc.AssignInt32(&had_accept, DTRUE)
 17360  	oc = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps
 17361  __178:
 17362  	if !(oc != uintptr(0) && int32((*Topen_capitem)(unsafe.Pointer(oc)).Fassert_depth) >= int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth)) {
 17363  		goto __180
 17364  	}
 17365  
 17366  	if !(lengthptr != uintptr(0)) {
 17367  		goto __181
 17368  	}
 17369  
 17370  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += uint64(1*(DPCRE2_CODE_UNIT_WIDTH/8) + DIMM2_SIZE)
 17371  	goto __182
 17372  __181:
 17373  
 17374  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_CLOSE
 17375  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(int32((*Topen_capitem)(unsafe.Pointer(oc)).Fnumber) >> 8)
 17376  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(int32((*Topen_capitem)(unsafe.Pointer(oc)).Fnumber) & 255)
 17377  	code += uintptr(DIMM2_SIZE)
 17378  __182:
 17379  	;
 17380  	goto __179
 17381  __179:
 17382  	oc = (*Topen_capitem)(unsafe.Pointer(oc)).Fnext
 17383  	goto __178
 17384  	goto __180
 17385  __180:
 17386  	;
 17387  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 17388  		if int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth) > 0 {
 17389  			return OP_ASSERT_ACCEPT
 17390  		}
 17391  		return OP_ACCEPT
 17392  	}()
 17393  	if !(firstcuflags == DREQ_UNSET) {
 17394  		goto __183
 17395  	}
 17396  	firstcuflags = DREQ_NONE
 17397  __183:
 17398  	;
 17399  	goto __12
 17400  
 17401  __24:
 17402  __25:
 17403  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_pruneorskip = DTRUE
 17404  	// Fall through
 17405  __26:
 17406  __27:
 17407  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(verbops[(meta-DMETA_MARK)>>16])
 17408  	goto __12
 17409  
 17410  __28:
 17411  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASTHEN)
 17412  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_THEN
 17413  	goto __12
 17414  
 17415  	// Handle verbs with arguments. Arguments can be very long, especially in
 17416  	//     16- and 32-bit modes, and can overflow the workspace in the first pass.
 17417  	//     However, the argument length is constrained to be small enough to fit in
 17418  	//     one code unit. This check happens in parse_regex(). In the first pass,
 17419  	//     instead of putting the argument into memory, we just update the length
 17420  	//     counter and set up an empty argument.
 17421  
 17422  __29:
 17423  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASTHEN)
 17424  	goto VERB_ARG
 17425  
 17426  __30:
 17427  __31:
 17428  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_pruneorskip = DTRUE
 17429  	// Fall through
 17430  __32:
 17431  __33:
 17432  VERB_ARG:
 17433  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(verbops[(meta-DMETA_MARK)>>16])
 17434  	// The length is in characters.
 17435  	verbarglen = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 17436  	verbculen = Tuint32_t(0)
 17437  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) = libc.PostIncUintptr(&code, 1)
 17438  	{
 17439  		i17 = 0
 17440  	__184:
 17441  		if !(i17 < int32(verbarglen)) {
 17442  			goto __186
 17443  		}
 17444  
 17445  		meta = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 17446  		if !(utf != 0) {
 17447  			goto __187
 17448  		}
 17449  		mclength = X_pcre2_ord2utf_8(tls, meta, bp+72)
 17450  		goto __188
 17451  	__187:
 17452  
 17453  		mclength = Tuint32_t(1)
 17454  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72)) = TPCRE2_UCHAR8(meta)
 17455  	__188:
 17456  		;
 17457  		if !(lengthptr != uintptr(0)) {
 17458  			goto __189
 17459  		}
 17460  		*(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t(mclength)
 17461  		goto __190
 17462  	__189:
 17463  
 17464  		libc.Xmemcpy(tls, code, bp+72, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 17465  		code += uintptr(mclength)
 17466  		verbculen = verbculen + mclength
 17467  	__190:
 17468  		;
 17469  		goto __185
 17470  	__185:
 17471  		i17++
 17472  		goto __184
 17473  		goto __186
 17474  	__186:
 17475  	}
 17476  
 17477  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)))) = TPCRE2_UCHAR8(verbculen) // Fill in the code unit length
 17478  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(0)                               // Terminating zero
 17479  	goto __12
 17480  
 17481  	// ===================================================================
 17482  	// Handle options change. The new setting must be passed back for use in
 17483  	//     subsequent branches. Reset the greedy defaults and the case value for
 17484  	//     firstcu and reqcu.
 17485  
 17486  __34:
 17487  	*(*Tuint32_t)(unsafe.Pointer(optionsptr)) = libc.AssignUint32(&options, *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))))
 17488  	greedy_default = Tuint32_t(libc.Bool32(options&DPCRE2_UNGREEDY != Tuint32_t(0)))
 17489  	greedy_non_default = greedy_default ^ Tuint32_t(1)
 17490  	if options&DPCRE2_CASELESS != Tuint32_t(0) {
 17491  		req_caseopt = DREQ_CASELESS
 17492  	} else {
 17493  		req_caseopt = uint32(0)
 17494  	}
 17495  	goto __12
 17496  
 17497  	// ===================================================================
 17498  	// Handle conditional subpatterns. The case of (?(Rdigits) is ambiguous
 17499  	//     because it could be a numerical check on recursion, or a name check on a
 17500  	//     group's being set. The pre-pass sets up META_COND_RNUMBER as a name so that
 17501  	//     we can handle it either way. We first try for a name; if not found, process
 17502  	//     the number.
 17503  
 17504  __35: // (?(Rdigits)
 17505  __36: // (?(name) or (?'name') or ?(<name>)
 17506  __37: // (?(R&name) - test for recursion
 17507  	bravalue = OP_COND
 17508  
 17509  	ng = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups
 17510  	length = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 17511  
 17512  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)))
 17513  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 17514  
 17515  	name = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset)
 17516  
 17517  	// In the first pass, the names generated in the pre-pass are available,
 17518  	//       but the main name table has not yet been created. Scan the list of names
 17519  	//       generated in the pre-pass in order to get a number and whether or not
 17520  	//       this name is duplicated. If it is not duplicated, we can handle it as a
 17521  	//       numerical group.
 17522  
 17523  	i12 = uint32(0)
 17524  __191:
 17525  	if !(i12 < uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 17526  		goto __193
 17527  	}
 17528  
 17529  	if !(length == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength) && X_pcre2_strncmp_8(tls, name, (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, uint64(length)) == 0) {
 17530  		goto __194
 17531  	}
 17532  
 17533  	if !!(int32((*Tnamed_group_8)(unsafe.Pointer(ng)).Fisdup) != 0) {
 17534  		goto __195
 17535  	}
 17536  
 17537  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 {
 17538  		if meta == DMETA_COND_RNAME {
 17539  			return OP_RREF
 17540  		}
 17541  		return OP_CREF
 17542  	}()
 17543  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber >> 8)
 17544  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber & Tuint32_t(255))
 17545  	if !((*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) {
 17546  		goto __196
 17547  	}
 17548  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = (*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber
 17549  __196:
 17550  	;
 17551  	skipunits = Tuint32_t(1 + DIMM2_SIZE)
 17552  	goto GROUP_PROCESS_NOTE_EMPTY
 17553  __195:
 17554  	;
 17555  	goto __193 // Found a duplicated name
 17556  __194:
 17557  	;
 17558  	goto __192
 17559  __192:
 17560  	i12++
 17561  	ng += 16
 17562  	goto __191
 17563  	goto __193
 17564  __193:
 17565  	;
 17566  
 17567  	// If the name was not found we have a bad reference, unless we are
 17568  	//       dealing with R<digits>, which is treated as a recursion test by number.
 17569  	//
 17570  
 17571  	if !(i12 >= uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 17572  		goto __197
 17573  	}
 17574  
 17575  	groupnumber = Tuint32_t(0)
 17576  	if !(meta == DMETA_COND_RNUMBER) {
 17577  		goto __198
 17578  	}
 17579  
 17580  	i12 = uint32(1)
 17581  __199:
 17582  	if !(i12 < length) {
 17583  		goto __201
 17584  	}
 17585  
 17586  	groupnumber = groupnumber*Tuint32_t(10) + Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(name + uintptr(i12)))) - Tuint32_t('\060')
 17587  	if !(groupnumber > DMAX_GROUP_NUMBER) {
 17588  		goto __202
 17589  	}
 17590  
 17591  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR61
 17592  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset + Tsize_t(i12)
 17593  	return 0
 17594  __202:
 17595  	;
 17596  	goto __200
 17597  __200:
 17598  	i12++
 17599  	goto __199
 17600  	goto __201
 17601  __201:
 17602  	;
 17603  __198:
 17604  	;
 17605  
 17606  	if !(meta != DMETA_COND_RNUMBER || groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 17607  		goto __203
 17608  	}
 17609  
 17610  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15
 17611  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 17612  	return 0
 17613  __203:
 17614  	;
 17615  
 17616  	// (?Rdigits) treated as a recursion reference by number. A value of
 17617  	//         zero (which is the result of both (?R) and (?R0)) means "any", and is
 17618  	//         translated into RREF_ANY (which is 0xffff).
 17619  
 17620  	if !(groupnumber == Tuint32_t(0)) {
 17621  		goto __204
 17622  	}
 17623  	groupnumber = Tuint32_t(DRREF_ANY)
 17624  __204:
 17625  	;
 17626  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_RREF
 17627  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(groupnumber >> 8)
 17628  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(groupnumber & Tuint32_t(255))
 17629  	skipunits = Tuint32_t(1 + DIMM2_SIZE)
 17630  	goto GROUP_PROCESS_NOTE_EMPTY
 17631  __197:
 17632  	;
 17633  
 17634  	// A duplicated name was found. Note that if an R<digits> name is found
 17635  	//       (META_COND_RNUMBER), it is a reference test, not a recursion test.
 17636  
 17637  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 {
 17638  		if meta == DMETA_COND_RNAME {
 17639  			return OP_RREF
 17640  		}
 17641  		return OP_CREF
 17642  	}()
 17643  
 17644  	// We have a duplicated name. In the compile pass we have to search the
 17645  	//       main table in order to get the index and count values.
 17646  
 17647  	*(*int32)(unsafe.Pointer(bp + 84 /* count */)) = 0 // Values for first pass (avoids compiler warning)
 17648  	*(*int32)(unsafe.Pointer(bp + 80 /* index */)) = 0
 17649  	if !(lengthptr == uintptr(0) && !(find_dupname_details(tls, name, length, bp+80,
 17650  		bp+84, errorcodeptr, cb) != 0)) {
 17651  		goto __205
 17652  	}
 17653  	return 0
 17654  __205:
 17655  	;
 17656  
 17657  	// Add one to the opcode to change CREF/RREF into DNCREF/DNRREF and
 17658  	//       insert appropriate data values.
 17659  
 17660  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))++
 17661  	skipunits = Tuint32_t(1 + 2*DIMM2_SIZE)
 17662  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 80)) >> 8)
 17663  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 80)) & 255)
 17664  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 84)) >> 8)
 17665  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 7)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 84)) & 255)
 17666  
 17667  	goto GROUP_PROCESS_NOTE_EMPTY
 17668  
 17669  	// The DEFINE condition is always false. Its internal groups may never
 17670  	//     be called, so matched_char must remain false, hence the jump to
 17671  	//     GROUP_PROCESS rather than GROUP_PROCESS_NOTE_EMPTY.
 17672  
 17673  __38:
 17674  	bravalue = OP_COND
 17675  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)))
 17676  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 17677  
 17678  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_DEFINE
 17679  	skipunits = Tuint32_t(1)
 17680  	goto GROUP_PROCESS
 17681  
 17682  	// Conditional test of a group's being set.
 17683  
 17684  __39:
 17685  	bravalue = OP_COND
 17686  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)))
 17687  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 17688  
 17689  	groupnumber = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 17690  	if !(groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 17691  		goto __206
 17692  	}
 17693  
 17694  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15
 17695  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 17696  	return 0
 17697  __206:
 17698  	;
 17699  	if !(groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) {
 17700  		goto __207
 17701  	}
 17702  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = groupnumber
 17703  __207:
 17704  	;
 17705  	offset = offset - uint64(2) // Point at initial ( for too many branches error
 17706  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_CREF
 17707  	skipunits = Tuint32_t(1 + DIMM2_SIZE)
 17708  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(groupnumber >> 8)
 17709  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(groupnumber & Tuint32_t(255))
 17710  	goto GROUP_PROCESS_NOTE_EMPTY
 17711  
 17712  	// Test for the PCRE2 version.
 17713  
 17714  __40:
 17715  	bravalue = OP_COND
 17716  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) > Tuint32_t(0)) {
 17717  		goto __208
 17718  	}
 17719  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 {
 17720  		if Tuint32_t(DPCRE2_MAJOR) > *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) || Tuint32_t(DPCRE2_MAJOR) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) && Tuint32_t(DPCRE2_MINOR) >= *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 3*4)) {
 17721  			return OP_TRUE
 17722  		}
 17723  		return OP_FALSE
 17724  	}()
 17725  	goto __209
 17726  __208:
 17727  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = func() uint8 {
 17728  		if Tuint32_t(DPCRE2_MAJOR) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) && Tuint32_t(DPCRE2_MINOR) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 3*4)) {
 17729  			return OP_TRUE
 17730  		}
 17731  		return OP_FALSE
 17732  	}()
 17733  __209:
 17734  	;
 17735  	skipunits = Tuint32_t(1)
 17736  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3)
 17737  	goto GROUP_PROCESS_NOTE_EMPTY
 17738  
 17739  	// The condition is an assertion, possibly preceded by a callout.
 17740  
 17741  __41:
 17742  	bravalue = OP_COND
 17743  	goto GROUP_PROCESS_NOTE_EMPTY
 17744  
 17745  	// ===================================================================
 17746  	// Handle all kinds of nested bracketed groups. The non-capturing,
 17747  	//     non-conditional cases are here; others come to GROUP_PROCESS via goto.
 17748  
 17749  __42:
 17750  	bravalue = OP_ASSERT
 17751  	*(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1)
 17752  	goto GROUP_PROCESS
 17753  
 17754  __43:
 17755  	bravalue = OP_ASSERT_NA
 17756  	*(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1)
 17757  	goto GROUP_PROCESS
 17758  
 17759  	// Optimize (?!) to (*FAIL) unless it is quantified - which is a weird
 17760  	//     thing to do, but Perl allows all assertions to be quantified, and when
 17761  	//     they contain capturing parentheses there may be a potential use for
 17762  	//     this feature. Not that that applies to a quantified (?!) but we allow
 17763  	//     it for uniformity.
 17764  
 17765  __44:
 17766  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) == DMETA_KET && (*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) < DMETA_ASTERISK || *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) > DMETA_MINMAX_QUERY)) {
 17767  		goto __210
 17768  	}
 17769  
 17770  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_FAIL
 17771  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4
 17772  	goto __211
 17773  __210:
 17774  
 17775  	bravalue = OP_ASSERT_NOT
 17776  	*(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1)
 17777  	goto GROUP_PROCESS
 17778  __211:
 17779  	;
 17780  	goto __12
 17781  
 17782  __45:
 17783  	bravalue = OP_ASSERTBACK
 17784  	*(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1)
 17785  	goto GROUP_PROCESS
 17786  
 17787  __46:
 17788  	bravalue = OP_ASSERTBACK_NOT
 17789  	*(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1)
 17790  	goto GROUP_PROCESS
 17791  
 17792  __47:
 17793  	bravalue = OP_ASSERTBACK_NA
 17794  	*(*Tuint16_t)(unsafe.Pointer(cb + 182)) += Tuint16_t(1)
 17795  	goto GROUP_PROCESS
 17796  
 17797  __48:
 17798  	bravalue = OP_ONCE
 17799  	goto GROUP_PROCESS_NOTE_EMPTY
 17800  
 17801  __49:
 17802  	bravalue = OP_SCRIPT_RUN
 17803  	goto GROUP_PROCESS_NOTE_EMPTY
 17804  
 17805  __50:
 17806  	bravalue = OP_BRA
 17807  	// Fall through
 17808  
 17809  	// Process nested bracketed regex. The nesting depth is maintained for the
 17810  	//     benefit of the stackguard function. The test for too deep nesting is now
 17811  	//     done in parse_regex(). Assertion and DEFINE groups come to GROUP_PROCESS;
 17812  	//     others come to GROUP_PROCESS_NOTE_EMPTY, to indicate that we need to take
 17813  	//     note of whether or not they may match an empty string.
 17814  
 17815  GROUP_PROCESS_NOTE_EMPTY:
 17816  	note_group_empty = DTRUE
 17817  
 17818  GROUP_PROCESS:
 17819  	*(*Tuint16_t)(unsafe.Pointer(cb + 180)) += Tuint16_t(1)
 17820  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(bravalue)
 17821  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4
 17822  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) = code
 17823  	tempreqvary = (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt       // Save value before group
 17824  	*(*Tsize_t)(unsafe.Pointer(bp + 120 /* length_prevgroup */)) = uint64(0) // Initialize for pre-compile phase
 17825  
 17826  	if !(libc.AssignInt32(&group_return, compile_regex(tls,
 17827  		options,
 17828  		bp+88,
 17829  		bp+96,
 17830  		errorcodeptr,
 17831  		skipunits,
 17832  		bp+104,
 17833  		bp+108,
 17834  		bp+112,
 17835  		bp+116,
 17836  		bcptr,
 17837  		cb,
 17838  		func() uintptr {
 17839  			if lengthptr == uintptr(0) {
 17840  				return uintptr(0)
 17841  			}
 17842  			return bp + 120
 17843  		}())) == 0) {
 17844  		goto __212
 17845  	}
 17846  	return 0
 17847  __212:
 17848  	; // Error
 17849  
 17850  	*(*Tuint16_t)(unsafe.Pointer(cb + 180)) -= Tuint16_t(1)
 17851  
 17852  	// If that was a non-conditional significant group (not an assertion, not a
 17853  	//     DEFINE) that matches at least one character, then the current item matches
 17854  	//     a character. Conditionals are handled below.
 17855  
 17856  	if !(note_group_empty != 0 && bravalue != OP_COND && group_return > 0) {
 17857  		goto __213
 17858  	}
 17859  	matched_char = DTRUE
 17860  __213:
 17861  	;
 17862  
 17863  	// If we've just compiled an assertion, pop the assert depth.
 17864  
 17865  	if !(bravalue >= OP_ASSERT && bravalue <= OP_ASSERTBACK_NA) {
 17866  		goto __214
 17867  	}
 17868  	*(*Tuint16_t)(unsafe.Pointer(cb + 182)) -= Tuint16_t(1)
 17869  __214:
 17870  	;
 17871  
 17872  	// At the end of compiling, code is still pointing to the start of the
 17873  	//     group, while tempcode has been updated to point past the end of the group.
 17874  	//     The parsed pattern pointer (pptr) is on the closing META_KET.
 17875  	//
 17876  	//     If this is a conditional bracket, check that there are no more than
 17877  	//     two branches in the group, or just one if it's a DEFINE group. We do this
 17878  	//     in the real compile phase, not in the pre-pass, where the whole group may
 17879  	//     not be available.
 17880  
 17881  	if !(bravalue == OP_COND && lengthptr == uintptr(0)) {
 17882  		goto __215
 17883  	}
 17884  
 17885  	tc = code
 17886  	condcount = 0
 17887  
 17888  __216:
 17889  	condcount++
 17890  	tc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tc + 2)))))
 17891  	goto __217
 17892  __217:
 17893  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tc))) != OP_KET {
 17894  		goto __216
 17895  	}
 17896  	goto __218
 17897  __218:
 17898  	;
 17899  
 17900  	// A DEFINE group is never obeyed inline (the "condition" is always
 17901  	//       false). It must have only one branch. Having checked this, change the
 17902  	//       opcode to OP_FALSE.
 17903  
 17904  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_DEFINE) {
 17905  		goto __219
 17906  	}
 17907  
 17908  	if !(condcount > 1) {
 17909  		goto __221
 17910  	}
 17911  
 17912  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 17913  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR54
 17914  	return 0
 17915  __221:
 17916  	;
 17917  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = OP_FALSE
 17918  	bravalue = OP_DEFINE // A flag to suppress char handling below
 17919  	goto __220
 17920  __219:
 17921  
 17922  	if !(condcount > 2) {
 17923  		goto __222
 17924  	}
 17925  
 17926  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 17927  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR27
 17928  	return 0
 17929  __222:
 17930  	;
 17931  	if !(condcount == 1) {
 17932  		goto __223
 17933  	}
 17934  	*(*Tuint32_t)(unsafe.Pointer(bp + 108 /* subfirstcuflags */)) = libc.AssignPtrUint32(bp+116 /* subreqcuflags */, DREQ_NONE)
 17935  	goto __224
 17936  __223:
 17937  	if !(group_return > 0) {
 17938  		goto __225
 17939  	}
 17940  	matched_char = DTRUE
 17941  __225:
 17942  	;
 17943  __224:
 17944  	;
 17945  __220:
 17946  	;
 17947  __215:
 17948  	;
 17949  
 17950  	// In the pre-compile phase, update the length by the length of the group,
 17951  	//     less the brackets at either end. Then reduce the compiled code to just a
 17952  	//     set of non-capturing brackets so that it doesn't use much memory if it is
 17953  	//     duplicated by a quantifier.
 17954  
 17955  	if !(lengthptr != uintptr(0)) {
 17956  		goto __226
 17957  	}
 17958  
 17959  	if !(uint64(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < *(*Tsize_t)(unsafe.Pointer(bp + 120))-uint64(2)-uint64(2*DLINK_SIZE)) {
 17960  		goto __227
 17961  	}
 17962  
 17963  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 17964  	return 0
 17965  __227:
 17966  	;
 17967  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += *(*Tsize_t)(unsafe.Pointer(bp + 120)) - uint64(2) - uint64(2*DLINK_SIZE)
 17968  	code++ // This already contains bravalue
 17969  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(int32(1+DLINK_SIZE) >> 8)
 17970  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8((1 + DLINK_SIZE) & 255)
 17971  	code += uintptr(DLINK_SIZE)
 17972  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KET
 17973  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(int32(1+DLINK_SIZE) >> 8)
 17974  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8((1 + DLINK_SIZE) & 255)
 17975  	code += uintptr(DLINK_SIZE)
 17976  	goto __12 // No need to waste time with special character handling
 17977  __226:
 17978  	;
 17979  
 17980  	// Otherwise update the main code pointer to the end of the group.
 17981  
 17982  	code = *(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */))
 17983  
 17984  	// For a DEFINE group, required and first character settings are not
 17985  	//     relevant.
 17986  
 17987  	if !(bravalue == OP_DEFINE) {
 17988  		goto __228
 17989  	}
 17990  	goto __12
 17991  __228:
 17992  	;
 17993  
 17994  	// Handle updating of the required and first code units for other types of
 17995  	//     group. Update for normal brackets of all kinds, and conditions with two
 17996  	//     branches (see code above). If the bracket is followed by a quantifier with
 17997  	//     zero repeat, we have to back off. Hence the definition of zeroreqcu and
 17998  	//     zerofirstcu outside the main loop so that they can be accessed for the back
 17999  	//     off.
 18000  
 18001  	zeroreqcu = reqcu
 18002  	zeroreqcuflags = reqcuflags
 18003  	zerofirstcu = firstcu
 18004  	zerofirstcuflags = firstcuflags
 18005  	groupsetfirstcu = DFALSE
 18006  
 18007  	if !(bravalue >= OP_ONCE) {
 18008  		goto __229
 18009  	} /* Not an assertion */
 18010  
 18011  	// If we have not yet set a firstcu in this branch, take it from the
 18012  	//       subpattern, remembering that it was set here so that a repeat of more
 18013  	//       than one can replicate it as reqcu if necessary. If the subpattern has
 18014  	//       no firstcu, set "none" for the whole branch. In both cases, a zero
 18015  	//       repeat forces firstcu to "none".
 18016  
 18017  	if !(firstcuflags == DREQ_UNSET && *(*Tuint32_t)(unsafe.Pointer(bp + 108)) != DREQ_UNSET) {
 18018  		goto __231
 18019  	}
 18020  
 18021  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 108)) < DREQ_NONE) {
 18022  		goto __233
 18023  	}
 18024  
 18025  	firstcu = *(*Tuint32_t)(unsafe.Pointer(bp + 104 /* subfirstcu */))
 18026  	firstcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 108 /* subfirstcuflags */))
 18027  	groupsetfirstcu = DTRUE
 18028  	goto __234
 18029  __233:
 18030  	firstcuflags = DREQ_NONE
 18031  __234:
 18032  	;
 18033  	zerofirstcuflags = DREQ_NONE
 18034  	goto __232
 18035  __231:
 18036  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 108)) < DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 116)) >= DREQ_NONE) {
 18037  		goto __235
 18038  	}
 18039  
 18040  	*(*Tuint32_t)(unsafe.Pointer(bp + 112 /* subreqcu */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 104 /* subfirstcu */))
 18041  	*(*Tuint32_t)(unsafe.Pointer(bp + 116 /* subreqcuflags */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 108)) | tempreqvary
 18042  __235:
 18043  	;
 18044  __232:
 18045  	;
 18046  
 18047  	// If the subpattern set a required code unit (or set a first code unit
 18048  	//       that isn't really the first code unit - see above), set it.
 18049  
 18050  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 116)) < DREQ_NONE) {
 18051  		goto __236
 18052  	}
 18053  
 18054  	reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 112 /* subreqcu */))
 18055  	reqcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 116 /* subreqcuflags */))
 18056  __236:
 18057  	;
 18058  	goto __230
 18059  __229:
 18060  	if !((bravalue == OP_ASSERT || bravalue == OP_ASSERT_NA) && *(*Tuint32_t)(unsafe.Pointer(bp + 116)) < DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 108)) < DREQ_NONE) {
 18061  		goto __237
 18062  	}
 18063  
 18064  	reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 112 /* subreqcu */))
 18065  	reqcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 116 /* subreqcuflags */))
 18066  __237:
 18067  	;
 18068  __230:
 18069  	;
 18070  
 18071  	goto __12 // End of nested group handling
 18072  
 18073  	// ===================================================================
 18074  	// Handle named backreferences and recursions.
 18075  
 18076  __51:
 18077  __52:
 18078  
 18079  	is_dupname = DFALSE
 18080  	ng1 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups
 18081  	length1 = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 18082  
 18083  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)))
 18084  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 18085  
 18086  	name1 = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset)
 18087  
 18088  	// In the first pass, the names generated in the pre-pass are available,
 18089  	//       but the main name table has not yet been created. Scan the list of names
 18090  	//       generated in the pre-pass in order to get a number and whether or not
 18091  	//       this name is duplicated.
 18092  
 18093  	groupnumber = Tuint32_t(0)
 18094  	{
 18095  		i13 = uint32(0)
 18096  	__238:
 18097  		if !(i13 < uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 18098  			goto __240
 18099  		}
 18100  
 18101  		if !(length1 == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng1)).Flength) && X_pcre2_strncmp_8(tls, name1, (*Tnamed_group_8)(unsafe.Pointer(ng1)).Fname, uint64(length1)) == 0) {
 18102  			goto __241
 18103  		}
 18104  
 18105  		is_dupname = TBOOL((*Tnamed_group_8)(unsafe.Pointer(ng1)).Fisdup)
 18106  		groupnumber = (*Tnamed_group_8)(unsafe.Pointer(ng1)).Fnumber
 18107  
 18108  		// For a recursion, that's all that is needed. We can now go to
 18109  		//           the code that handles numerical recursion, applying it to the first
 18110  		//           group with the given name.
 18111  
 18112  		if !(meta == DMETA_RECURSE_BYNAME) {
 18113  			goto __242
 18114  		}
 18115  
 18116  		meta_arg = groupnumber
 18117  		goto HANDLE_NUMERICAL_RECURSION
 18118  	__242:
 18119  		;
 18120  
 18121  		// For a back reference, update the back reference map and the
 18122  		//           maximum back reference.
 18123  
 18124  		*(*Tuint32_t)(unsafe.Pointer(cb + 252)) |= func() uint32 {
 18125  			if groupnumber < Tuint32_t(32) {
 18126  				return uint32(1) << groupnumber
 18127  			}
 18128  			return uint32(1)
 18129  		}()
 18130  		if !(groupnumber > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) {
 18131  			goto __243
 18132  		}
 18133  		(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = groupnumber
 18134  	__243:
 18135  		;
 18136  	__241:
 18137  		;
 18138  		goto __239
 18139  	__239:
 18140  		i13++
 18141  		ng1 += 16
 18142  		goto __238
 18143  		goto __240
 18144  	__240:
 18145  	}
 18146  
 18147  	// If the name was not found we have a bad reference.
 18148  
 18149  	if !(groupnumber == Tuint32_t(0)) {
 18150  		goto __244
 18151  	}
 18152  
 18153  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15
 18154  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 18155  	return 0
 18156  __244:
 18157  	;
 18158  
 18159  	// If a back reference name is not duplicated, we can handle it as
 18160  	//       a numerical reference.
 18161  
 18162  	if !!(is_dupname != 0) {
 18163  		goto __245
 18164  	}
 18165  
 18166  	meta_arg = groupnumber
 18167  	goto HANDLE_SINGLE_REFERENCE
 18168  __245:
 18169  	;
 18170  
 18171  	// If a back reference name is duplicated, we generate a different
 18172  	//       opcode to a numerical back reference. In the second pass we must
 18173  	//       search for the index and count in the final name table.
 18174  
 18175  	*(*int32)(unsafe.Pointer(bp + 132 /* count1 */)) = 0 // Values for first pass (avoids compiler warning)
 18176  	*(*int32)(unsafe.Pointer(bp + 128 /* index1 */)) = 0
 18177  	if !(lengthptr == uintptr(0) && !(find_dupname_details(tls, name1, length1, bp+128,
 18178  		bp+132, errorcodeptr, cb) != 0)) {
 18179  		goto __246
 18180  	}
 18181  	return 0
 18182  __246:
 18183  	;
 18184  
 18185  	if !(firstcuflags == DREQ_UNSET) {
 18186  		goto __247
 18187  	}
 18188  	firstcuflags = DREQ_NONE
 18189  __247:
 18190  	;
 18191  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 18192  		if options&DPCRE2_CASELESS != Tuint32_t(0) {
 18193  			return OP_DNREFI
 18194  		}
 18195  		return OP_DNREF
 18196  	}()
 18197  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 128)) >> 8)
 18198  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 128)) & 255)
 18199  	code += uintptr(DIMM2_SIZE)
 18200  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 132)) >> 8)
 18201  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*int32)(unsafe.Pointer(bp + 132)) & 255)
 18202  	code += uintptr(DIMM2_SIZE)
 18203  
 18204  	goto __12
 18205  
 18206  	// ===================================================================
 18207  	// Handle a numerical callout.
 18208  
 18209  __53:
 18210  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = OP_CALLOUT
 18211  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) >> 8)
 18212  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) & Tuint32_t(255)) // Offset to next pattern item
 18213  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) >> 8)
 18214  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) & Tuint32_t(255)) // Length of next pattern item
 18215  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) + 3*4)))
 18216  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3)
 18217  	code += uintptr(X_pcre2_OP_lengths_8[OP_CALLOUT])
 18218  	goto __12
 18219  
 18220  	// ===================================================================
 18221  	// Handle a callout with a string argument. In the pre-pass we just compute
 18222  	//     the length without generating anything. The length in pptr[3] includes both
 18223  	//     delimiters; in the actual compile only the first one is copied, but a
 18224  	//     terminating zero is added. Any doubled delimiters within the string make
 18225  	//     this an overestimate, but it is not worth bothering about.
 18226  
 18227  __54:
 18228  	if !(lengthptr != uintptr(0)) {
 18229  		goto __248
 18230  	}
 18231  
 18232  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 3*4)) + Tuint32_t(1+4*DLINK_SIZE))
 18233  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3)
 18234  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 18235  	goto __249
 18236  __248:
 18237  
 18238  	length2 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) + 3*4))
 18239  	callout_string = code + uintptr(1+4*DLINK_SIZE)
 18240  
 18241  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = OP_CALLOUT_STR
 18242  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) >> 8)
 18243  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)) & Tuint32_t(255)) // Offset to next pattern item
 18244  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) >> 8)
 18245  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)) & Tuint32_t(255)) // Length of next pattern item
 18246  
 18247  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(3)
 18248  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)))
 18249  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 18250  	// Offset to string in pattern
 18251  	pp = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset)
 18252  	delimiter = Tuint32_t(libc.AssignPtrUint8(libc.PostIncUintptr(&callout_string, 1), *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pp, 1)))))
 18253  	if !(delimiter == Tuint32_t('\173')) {
 18254  		goto __250
 18255  	}
 18256  	delimiter = Tuint32_t('\175')
 18257  __250:
 18258  	;
 18259  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 7)) = TPCRE2_UCHAR8(int32(offset+uint64(1)) >> 8)
 18260  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 8)) = TPCRE2_UCHAR8(int32(offset+uint64(1)) & 255) // One after delimiter
 18261  
 18262  	// The syntax of the pattern was checked in the parsing scan. The length
 18263  	//       includes both delimiters, but we have passed the opening one just above,
 18264  	//       so we reduce length before testing it. The test is for > 1 because we do
 18265  	//       not want to copy the final delimiter. This also ensures that pp[1] is
 18266  	//       accessible.
 18267  
 18268  __251:
 18269  	if !(libc.PreDecUint32(&length2, 1) > Tuint32_t(1)) {
 18270  		goto __252
 18271  	}
 18272  
 18273  	if !(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pp))) == delimiter && Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pp + 1))) == delimiter) {
 18274  		goto __253
 18275  	}
 18276  
 18277  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&callout_string, 1))) = TPCRE2_UCHAR8(delimiter)
 18278  	pp += uintptr(2)
 18279  	length2--
 18280  	goto __254
 18281  __253:
 18282  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&callout_string, 1))) = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pp, 1)))
 18283  __254:
 18284  	;
 18285  	goto __251
 18286  __252:
 18287  	;
 18288  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&callout_string, 1))) = TPCRE2_UCHAR8(0)
 18289  
 18290  	// Set the length of the entire item, the advance to its end.
 18291  
 18292  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)) = TPCRE2_UCHAR8(int32((int64(callout_string)-int64(code))/1) >> 8)
 18293  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)) = TPCRE2_UCHAR8(int32((int64(callout_string)-int64(code))/1) & 255)
 18294  	code = callout_string
 18295  __249:
 18296  	;
 18297  	goto __12
 18298  
 18299  	// ===================================================================
 18300  	// Handle repetition. The different types are all sorted out in the parsing
 18301  	//     pass.
 18302  
 18303  __55:
 18304  __56:
 18305  __57:
 18306  	repeat_min = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 18307  	repeat_max = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4)))
 18308  	goto REPEAT
 18309  
 18310  __58:
 18311  __59:
 18312  __60:
 18313  	repeat_min = Tuint32_t(0)
 18314  	repeat_max = DMAX_REPEAT_COUNT + uint32(1)
 18315  	goto REPEAT
 18316  
 18317  __61:
 18318  __62:
 18319  __63:
 18320  	repeat_min = Tuint32_t(1)
 18321  	repeat_max = DMAX_REPEAT_COUNT + uint32(1)
 18322  	goto REPEAT
 18323  
 18324  __64:
 18325  __65:
 18326  __66:
 18327  	repeat_min = Tuint32_t(0)
 18328  	repeat_max = Tuint32_t(1)
 18329  
 18330  REPEAT:
 18331  	if !(previous_matched_char != 0 && repeat_min > Tuint32_t(0)) {
 18332  		goto __255
 18333  	}
 18334  	matched_char = DTRUE
 18335  __255:
 18336  	;
 18337  
 18338  	// Remember whether this is a variable length repeat, and default to
 18339  	//     single-char opcodes.
 18340  
 18341  	if repeat_min == repeat_max {
 18342  		reqvary = uint32(0)
 18343  	} else {
 18344  		reqvary = DREQ_VARY
 18345  	}
 18346  	op_type = Tuint32_t(0)
 18347  
 18348  	// Adjust first and required code units for a zero repeat.
 18349  
 18350  	if !(repeat_min == Tuint32_t(0)) {
 18351  		goto __256
 18352  	}
 18353  
 18354  	firstcu = zerofirstcu
 18355  	firstcuflags = zerofirstcuflags
 18356  	reqcu = zeroreqcu
 18357  	reqcuflags = zeroreqcuflags
 18358  __256:
 18359  	;
 18360  
 18361  	// Note the greediness and possessiveness.
 18362  
 18363  	switch meta {
 18364  	case DMETA_MINMAX_PLUS:
 18365  		goto __258
 18366  	case DMETA_ASTERISK_PLUS:
 18367  		goto __259
 18368  	case DMETA_PLUS_PLUS:
 18369  		goto __260
 18370  	case DMETA_QUERY_PLUS:
 18371  		goto __261
 18372  
 18373  	case DMETA_MINMAX_QUERY:
 18374  		goto __262
 18375  	case DMETA_ASTERISK_QUERY:
 18376  		goto __263
 18377  	case DMETA_PLUS_QUERY:
 18378  		goto __264
 18379  	case DMETA_QUERY_QUERY:
 18380  		goto __265
 18381  
 18382  	default:
 18383  		goto __266
 18384  	}
 18385  	goto __257
 18386  
 18387  __258:
 18388  __259:
 18389  __260:
 18390  __261:
 18391  	repeat_type = Tuint32_t(0) // Force greedy
 18392  	possessive_quantifier = DTRUE
 18393  	goto __257
 18394  
 18395  __262:
 18396  __263:
 18397  __264:
 18398  __265:
 18399  	repeat_type = greedy_non_default
 18400  	possessive_quantifier = DFALSE
 18401  	goto __257
 18402  
 18403  __266:
 18404  	repeat_type = greedy_default
 18405  	possessive_quantifier = DFALSE
 18406  	goto __257
 18407  __257:
 18408  	;
 18409  
 18410  	// Save start of previous item, in case we have to move it up in order to
 18411  	//     insert something before it, and remember what it was.
 18412  
 18413  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) = previous
 18414  	op_previous = *(*TPCRE2_UCHAR8)(unsafe.Pointer(previous))
 18415  
 18416  	// Now handle repetition for the different types of item. If the repeat
 18417  	//     minimum and the repeat maximum are both 1, we can ignore the quantifier for
 18418  	//     non-parenthesized items, as they have only one alternative. For anything in
 18419  	//     parentheses, we must not ignore if {1} is possessive.
 18420  
 18421  	switch int32(op_previous) {
 18422  	// If previous was a character or negated character match, abolish the
 18423  	//       item and generate a repeat item instead. If a char item has a minimum of
 18424  	//       more than one, ensure that it is set in reqcu - it might not be if a
 18425  	//       sequence such as x{3} is the first thing in a branch because the x will
 18426  	//       have gone into firstcu instead.
 18427  
 18428  	case OP_CHAR:
 18429  		goto __268
 18430  	case OP_CHARI:
 18431  		goto __269
 18432  	case OP_NOT:
 18433  		goto __270
 18434  	case OP_NOTI:
 18435  		goto __271 // Code shared with single character types
 18436  
 18437  	// If previous was a character class or a back reference, we put the
 18438  	//       repeat stuff after it, but just skip the item if the repeat was {0,0}.
 18439  
 18440  	case OP_XCLASS:
 18441  		goto __272
 18442  	case OP_CLASS:
 18443  		goto __273
 18444  	case OP_NCLASS:
 18445  		goto __274
 18446  	case OP_REF:
 18447  		goto __275
 18448  	case OP_REFI:
 18449  		goto __276
 18450  	case OP_DNREF:
 18451  		goto __277
 18452  	case OP_DNREFI:
 18453  		goto __278
 18454  
 18455  	// If previous is OP_FAIL, it was generated by an empty class []
 18456  	//       (PCRE2_ALLOW_EMPTY_CLASS is set). The other ways in which OP_FAIL can be
 18457  	//       generated, that is by (*FAIL) or (?!), disallow a quantifier at parse
 18458  	//       time. We can just ignore this repeat.
 18459  
 18460  	case OP_FAIL:
 18461  		goto __279
 18462  
 18463  	// Prior to 10.30, repeated recursions were wrapped in OP_ONCE brackets
 18464  	//       because pcre2_match() could not handle backtracking into recursively
 18465  	//       called groups. Now that this backtracking is available, we no longer need
 18466  	//       to do this. However, we still need to replicate recursions as we do for
 18467  	//       groups so as to have independent backtracking points. We can replicate
 18468  	//       for the minimum number of repeats directly. For optional repeats we now
 18469  	//       wrap the recursion in OP_BRA brackets and make use of the bracket
 18470  	//       repetition.
 18471  
 18472  	case OP_RECURSE:
 18473  		goto __280 // Set "may match empty string"
 18474  
 18475  	// Now treat as a repeated OP_BRA.
 18476  	// Fall through
 18477  
 18478  	// If previous was a bracket group, we may have to replicate it in
 18479  	//       certain cases. Note that at this point we can encounter only the "basic"
 18480  	//       bracket opcodes such as BRA and CBRA, as this is the place where they get
 18481  	//       converted into the more special varieties such as BRAPOS and SBRA.
 18482  	//       Originally, PCRE did not allow repetition of assertions, but now it does,
 18483  	//       for Perl compatibility.
 18484  
 18485  	case OP_ASSERT:
 18486  		goto __281
 18487  	case OP_ASSERT_NOT:
 18488  		goto __282
 18489  	case OP_ASSERT_NA:
 18490  		goto __283
 18491  	case OP_ASSERTBACK:
 18492  		goto __284
 18493  	case OP_ASSERTBACK_NOT:
 18494  		goto __285
 18495  	case OP_ASSERTBACK_NA:
 18496  		goto __286
 18497  	case OP_ONCE:
 18498  		goto __287
 18499  	case OP_SCRIPT_RUN:
 18500  		goto __288
 18501  	case OP_BRA:
 18502  		goto __289
 18503  	case OP_CBRA:
 18504  		goto __290
 18505  	case OP_COND:
 18506  		goto __291
 18507  
 18508  	// If previous was a character type match (\d or similar), abolish it and
 18509  	//       create a suitable repeat item. The code is shared with single-character
 18510  	//       repeats by setting op_type to add a suitable offset into repeat_type.
 18511  	//       Note the the Unicode property types will be present only when
 18512  	//       SUPPORT_UNICODE is defined, but we don't wrap the little bits of code
 18513  	//       here because it just makes it horribly messy.
 18514  
 18515  	default:
 18516  		goto __292
 18517  	}
 18518  	goto __267
 18519  
 18520  	// If previous was a character or negated character match, abolish the
 18521  	//       item and generate a repeat item instead. If a char item has a minimum of
 18522  	//       more than one, ensure that it is set in reqcu - it might not be if a
 18523  	//       sequence such as x{3} is the first thing in a branch because the x will
 18524  	//       have gone into firstcu instead.
 18525  
 18526  __268:
 18527  __269:
 18528  __270:
 18529  __271:
 18530  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1)) {
 18531  		goto __293
 18532  	}
 18533  	goto END_REPEAT
 18534  __293:
 18535  	;
 18536  	op_type = chartypeoffset[int32(op_previous)-OP_CHAR]
 18537  
 18538  	// Deal with UTF characters that take up more than one code unit.
 18539  
 18540  	if !(utf != 0 && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0xc0 == 0x80) {
 18541  		goto __294
 18542  	}
 18543  
 18544  	lastchar = code - uintptr(1)
 18545  __296:
 18546  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastchar)))&0xc0 == 0x80) {
 18547  		goto __297
 18548  	}
 18549  	lastchar--
 18550  	goto __296
 18551  __297:
 18552  	;
 18553  	mclength = Tuint32_t((int64(code) - int64(lastchar)) / 1)                                // Length of UTF character
 18554  	libc.Xmemcpy(tls, bp+72, lastchar, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8))) // Save the char
 18555  	goto __295
 18556  __294:
 18557  
 18558  	/* Handle the case of a single code unit - either with no UTF support, or
 18559  	   with UTF disabled, or for a single-code-unit UTF character. In the latter
 18560  	   case, for a repeated positive match, get the caseless flag for the
 18561  	   required code unit from the previous character, because a class like [Aa]
 18562  	   sets a caseless A but by now the req_caseopt flag has been reset. */
 18563  
 18564  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72)) = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))
 18565  	mclength = Tuint32_t(1)
 18566  	if !(int32(op_previous) <= OP_CHARI && repeat_min > Tuint32_t(1)) {
 18567  		goto __298
 18568  	}
 18569  
 18570  	reqcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72)))
 18571  	reqcuflags = (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt
 18572  	if !(int32(op_previous) == OP_CHARI) {
 18573  		goto __299
 18574  	}
 18575  	reqcuflags = reqcuflags | DREQ_CASELESS
 18576  __299:
 18577  	;
 18578  __298:
 18579  	;
 18580  __295:
 18581  	;
 18582  	goto OUTPUT_SINGLE_REPEAT // Code shared with single character types
 18583  
 18584  	// If previous was a character class or a back reference, we put the
 18585  	//       repeat stuff after it, but just skip the item if the repeat was {0,0}.
 18586  
 18587  __272:
 18588  __273:
 18589  __274:
 18590  __275:
 18591  __276:
 18592  __277:
 18593  __278:
 18594  
 18595  	if !(repeat_max == Tuint32_t(0)) {
 18596  		goto __300
 18597  	}
 18598  
 18599  	code = previous
 18600  	goto END_REPEAT
 18601  __300:
 18602  	;
 18603  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1)) {
 18604  		goto __301
 18605  	}
 18606  	goto END_REPEAT
 18607  __301:
 18608  	;
 18609  
 18610  	if !(repeat_min == Tuint32_t(0) && repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18611  		goto __302
 18612  	}
 18613  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRSTAR + repeat_type)
 18614  	goto __303
 18615  __302:
 18616  	if !(repeat_min == Tuint32_t(1) && repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18617  		goto __304
 18618  	}
 18619  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRPLUS + repeat_type)
 18620  	goto __305
 18621  __304:
 18622  	if !(repeat_min == Tuint32_t(0) && repeat_max == Tuint32_t(1)) {
 18623  		goto __306
 18624  	}
 18625  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRQUERY + repeat_type)
 18626  	goto __307
 18627  __306:
 18628  
 18629  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_CRRANGE + repeat_type)
 18630  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_min >> 8)
 18631  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_min & Tuint32_t(255))
 18632  	code += uintptr(DIMM2_SIZE)
 18633  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18634  		goto __308
 18635  	}
 18636  	repeat_max = Tuint32_t(0)
 18637  __308:
 18638  	; // 2-byte encoding for max
 18639  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_max >> 8)
 18640  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_max & Tuint32_t(255))
 18641  	code += uintptr(DIMM2_SIZE)
 18642  __307:
 18643  	;
 18644  __305:
 18645  	;
 18646  __303:
 18647  	;
 18648  	goto __267
 18649  
 18650  	// If previous is OP_FAIL, it was generated by an empty class []
 18651  	//       (PCRE2_ALLOW_EMPTY_CLASS is set). The other ways in which OP_FAIL can be
 18652  	//       generated, that is by (*FAIL) or (?!), disallow a quantifier at parse
 18653  	//       time. We can just ignore this repeat.
 18654  
 18655  __279:
 18656  	goto END_REPEAT
 18657  
 18658  	// Prior to 10.30, repeated recursions were wrapped in OP_ONCE brackets
 18659  	//       because pcre2_match() could not handle backtracking into recursively
 18660  	//       called groups. Now that this backtracking is available, we no longer need
 18661  	//       to do this. However, we still need to replicate recursions as we do for
 18662  	//       groups so as to have independent backtracking points. We can replicate
 18663  	//       for the minimum number of repeats directly. For optional repeats we now
 18664  	//       wrap the recursion in OP_BRA brackets and make use of the bracket
 18665  	//       repetition.
 18666  
 18667  __280:
 18668  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1) && !(possessive_quantifier != 0)) {
 18669  		goto __309
 18670  	}
 18671  	goto END_REPEAT
 18672  __309:
 18673  	;
 18674  
 18675  	// Generate unwrapped repeats for a non-zero minimum, except when the
 18676  	//       minimum is 1 and the maximum unlimited, because that can be handled with
 18677  	//       OP_BRA terminated by OP_KETRMAX/MIN. When the maximum is equal to the
 18678  	//       minimum, we just need to generate the appropriate additional copies.
 18679  	//       Otherwise we need to generate one more, to simulate the situation when
 18680  	//       the minimum is zero.
 18681  
 18682  	if !(repeat_min > Tuint32_t(0) && (repeat_min != Tuint32_t(1) || repeat_max != DMAX_REPEAT_COUNT+uint32(1))) {
 18683  		goto __310
 18684  	}
 18685  
 18686  	replicate = int32(repeat_min)
 18687  	if !(repeat_min == repeat_max) {
 18688  		goto __311
 18689  	}
 18690  	replicate--
 18691  __311:
 18692  	;
 18693  
 18694  	// In the pre-compile phase, we don't actually do the replication. We
 18695  	//         just adjust the length as if we had. Do some paranoid checks for
 18696  	//         potential integer overflow. The INT64_OR_DOUBLE type is a 64-bit
 18697  	//         integer type when available, otherwise double.
 18698  
 18699  	if !(lengthptr != uintptr(0)) {
 18700  		goto __312
 18701  	}
 18702  
 18703  	delta = Tsize_t(replicate * (1 + DLINK_SIZE))
 18704  	if !(Tint64_t(replicate)*int64(1+DLINK_SIZE) > int64(0x7fffffff) || uint64(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < delta) {
 18705  		goto __314
 18706  	}
 18707  
 18708  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 18709  	return 0
 18710  __314:
 18711  	;
 18712  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += delta
 18713  	goto __313
 18714  __312:
 18715  	{
 18716  		i14 = 0
 18717  	__315:
 18718  		if !(i14 < replicate) {
 18719  			goto __317
 18720  		}
 18721  
 18722  		libc.Xmemcpy(tls, code, previous, uint64((1+DLINK_SIZE)*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18723  		previous = code
 18724  		code += uintptr(1 + DLINK_SIZE)
 18725  		goto __316
 18726  	__316:
 18727  		i14++
 18728  		goto __315
 18729  		goto __317
 18730  	__317:
 18731  	}
 18732  __313:
 18733  	;
 18734  
 18735  	// If the number of repeats is fixed, we are done. Otherwise, adjust
 18736  	//         the counts and fall through.
 18737  
 18738  	if !(repeat_min == repeat_max) {
 18739  		goto __318
 18740  	}
 18741  	goto __267
 18742  __318:
 18743  	;
 18744  	if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) {
 18745  		goto __319
 18746  	}
 18747  	repeat_max = repeat_max - repeat_min
 18748  __319:
 18749  	;
 18750  	repeat_min = Tuint32_t(0)
 18751  __310:
 18752  	;
 18753  
 18754  	// Wrap the recursion call in OP_BRA brackets.
 18755  
 18756  	libc.Xmemmove(tls, previous+uintptr(1)+uintptr(DLINK_SIZE), previous, uint64((1+DLINK_SIZE)*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18757  	op_previous = libc.AssignPtrUint8(previous, OP_BRA)
 18758  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)) = TPCRE2_UCHAR8(int32(2+2*DLINK_SIZE) >> 8)
 18759  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2)) = TPCRE2_UCHAR8((2 + 2*DLINK_SIZE) & 255)
 18760  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 6)) = OP_KET
 18761  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 7)) = TPCRE2_UCHAR8(int32(2+2*DLINK_SIZE) >> 8)
 18762  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 8)) = TPCRE2_UCHAR8((2 + 2*DLINK_SIZE) & 255)
 18763  	code += uintptr(2 + 2*DLINK_SIZE)
 18764  	*(*Tsize_t)(unsafe.Pointer(bp + 120 /* length_prevgroup */)) = uint64(3 + 3*DLINK_SIZE)
 18765  	group_return = -1 // Set "may match empty string"
 18766  
 18767  	// Now treat as a repeated OP_BRA.
 18768  	// Fall through
 18769  
 18770  	// If previous was a bracket group, we may have to replicate it in
 18771  	//       certain cases. Note that at this point we can encounter only the "basic"
 18772  	//       bracket opcodes such as BRA and CBRA, as this is the place where they get
 18773  	//       converted into the more special varieties such as BRAPOS and SBRA.
 18774  	//       Originally, PCRE did not allow repetition of assertions, but now it does,
 18775  	//       for Perl compatibility.
 18776  
 18777  __281:
 18778  __282:
 18779  __283:
 18780  __284:
 18781  __285:
 18782  __286:
 18783  __287:
 18784  __288:
 18785  __289:
 18786  __290:
 18787  __291:
 18788  
 18789  	len = int32((int64(code) - int64(previous)) / 1)
 18790  	bralink = uintptr(0)
 18791  	brazeroptr = uintptr(0)
 18792  
 18793  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1) && !(possessive_quantifier != 0)) {
 18794  		goto __320
 18795  	}
 18796  	goto END_REPEAT
 18797  __320:
 18798  	;
 18799  
 18800  	// Repeating a DEFINE group (or any group where the condition is always
 18801  	//         FALSE and there is only one branch) is pointless, but Perl allows the
 18802  	//         syntax, so we just ignore the repeat.
 18803  
 18804  	if !(int32(op_previous) == OP_COND && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 3))) == OP_FALSE && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2)))))))) != OP_ALT) {
 18805  		goto __321
 18806  	}
 18807  	goto END_REPEAT
 18808  __321:
 18809  	;
 18810  
 18811  	// Perl allows all assertions to be quantified, and when they contain
 18812  	//         capturing parentheses and/or are optional there are potential uses for
 18813  	//         this feature. PCRE2 used to force the maximum quantifier to 1 on the
 18814  	//         invalid grounds that further repetition was never useful. This was
 18815  	//         always a bit pointless, since an assertion could be wrapped with a
 18816  	//         repeated group to achieve the effect. General repetition is now
 18817  	//         permitted, but if the maximum is unlimited it is set to one more than
 18818  	//         the minimum.
 18819  
 18820  	if !(int32(op_previous) < OP_ONCE) {
 18821  		goto __322
 18822  	} /* Assertion */
 18823  
 18824  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18825  		goto __323
 18826  	}
 18827  	repeat_max = repeat_min + Tuint32_t(1)
 18828  __323:
 18829  	;
 18830  __322:
 18831  	;
 18832  
 18833  	// The case of a zero minimum is special because of the need to stick
 18834  	//         OP_BRAZERO in front of it, and because the group appears once in the
 18835  	//         data, whereas in other cases it appears the minimum number of times. For
 18836  	//         this reason, it is simplest to treat this case separately, as otherwise
 18837  	//         the code gets far too messy. There are several special subcases when the
 18838  	//         minimum is zero.
 18839  
 18840  	if !(repeat_min == Tuint32_t(0)) {
 18841  		goto __324
 18842  	}
 18843  
 18844  	// If the maximum is also zero, we used to just omit the group from
 18845  	//           the output altogether, like this:
 18846  	//
 18847  	//           ** if (repeat_max == 0)
 18848  	//           **   {
 18849  	//           **   code = previous;
 18850  	//           **   goto END_REPEAT;
 18851  	//           **   }
 18852  	//
 18853  	//           However, that fails when a group or a subgroup within it is
 18854  	//           referenced as a subroutine from elsewhere in the pattern, so now we
 18855  	//           stick in OP_SKIPZERO in front of it so that it is skipped on
 18856  	//           execution. As we don't have a list of which groups are referenced, we
 18857  	//           cannot do this selectively.
 18858  	//
 18859  	//           If the maximum is 1 or unlimited, we just have to stick in the
 18860  	//           BRAZERO and do no more at this point.
 18861  
 18862  	if !(repeat_max <= Tuint32_t(1) || repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 18863  		goto __326
 18864  	}
 18865  
 18866  	libc.Xmemmove(tls, previous+uintptr(1), previous, uint64(len*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18867  	code++
 18868  	if !(repeat_max == Tuint32_t(0)) {
 18869  		goto __328
 18870  	}
 18871  
 18872  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = OP_SKIPZERO
 18873  	goto END_REPEAT
 18874  __328:
 18875  	;
 18876  	brazeroptr = previous // Save for possessive optimizing
 18877  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = TPCRE2_UCHAR8(OP_BRAZERO + repeat_type)
 18878  	goto __327
 18879  __326:
 18880  
 18881  	libc.Xmemmove(tls, previous+uintptr(2)+uintptr(DLINK_SIZE), previous, uint64(len*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18882  	code += uintptr(2 + DLINK_SIZE)
 18883  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = TPCRE2_UCHAR8(OP_BRAZERO + repeat_type)
 18884  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&previous, 1))) = OP_BRA
 18885  
 18886  	// We chain together the bracket link offset fields that have to be
 18887  	//             filled in later when the ends of the brackets are reached.
 18888  
 18889  	if bralink == uintptr(0) {
 18890  		linkoffset = 0
 18891  	} else {
 18892  		linkoffset = int32((int64(previous) - int64(bralink)) / 1)
 18893  	}
 18894  	bralink = previous
 18895  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous)) = TPCRE2_UCHAR8(linkoffset >> 8)
 18896  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)) = TPCRE2_UCHAR8(linkoffset & 255)
 18897  	previous += uintptr(DLINK_SIZE)
 18898  __327:
 18899  	;
 18900  
 18901  	if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) {
 18902  		goto __329
 18903  	}
 18904  	repeat_max--
 18905  __329:
 18906  	;
 18907  	goto __325
 18908  __324:
 18909  
 18910  	if !(repeat_min > Tuint32_t(1)) {
 18911  		goto __330
 18912  	}
 18913  
 18914  	// In the pre-compile phase, we don't actually do the replication.
 18915  	//             We just adjust the length as if we had. Do some paranoid checks for
 18916  	//             potential integer overflow. The INT64_OR_DOUBLE type is a 64-bit
 18917  	//             integer type when available, otherwise double.
 18918  
 18919  	if !(lengthptr != uintptr(0)) {
 18920  		goto __331
 18921  	}
 18922  
 18923  	delta1 = Tsize_t(repeat_min-Tuint32_t(1)) * *(*Tsize_t)(unsafe.Pointer(bp + 120))
 18924  	if !(Tint64_t(repeat_min-Tuint32_t(1))*Tint64_t(*(*Tsize_t)(unsafe.Pointer(bp + 120))) > int64(0x7fffffff) || uint64(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < delta1) {
 18925  		goto __333
 18926  	}
 18927  
 18928  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 18929  	return 0
 18930  __333:
 18931  	;
 18932  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += delta1
 18933  	goto __332
 18934  __331:
 18935  
 18936  	if !(groupsetfirstcu != 0 && reqcuflags >= DREQ_NONE) {
 18937  		goto __334
 18938  	}
 18939  
 18940  	reqcu = firstcu
 18941  	reqcuflags = firstcuflags
 18942  __334:
 18943  	;
 18944  	{
 18945  		i15 = Tuint32_t(1)
 18946  	__335:
 18947  		if !(i15 < repeat_min) {
 18948  			goto __337
 18949  		}
 18950  
 18951  		libc.Xmemcpy(tls, code, previous, uint64(len*(DPCRE2_CODE_UNIT_WIDTH/8)))
 18952  		code += uintptr(len)
 18953  		goto __336
 18954  	__336:
 18955  		i15++
 18956  		goto __335
 18957  		goto __337
 18958  	__337:
 18959  	}
 18960  __332:
 18961  	;
 18962  __330:
 18963  	;
 18964  
 18965  	if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) {
 18966  		goto __338
 18967  	}
 18968  	repeat_max = repeat_max - repeat_min
 18969  __338:
 18970  	;
 18971  __325:
 18972  	;
 18973  
 18974  	// This code is common to both the zero and non-zero minimum cases. If
 18975  	//         the maximum is limited, it replicates the group in a nested fashion,
 18976  	//         remembering the bracket starts on a stack. In the case of a zero
 18977  	//         minimum, the first one was set up above. In all cases the repeat_max
 18978  	//         now specifies the number of additional copies needed. Again, we must
 18979  	//         remember to replicate entries on the forward reference list.
 18980  
 18981  	if !(repeat_max != DMAX_REPEAT_COUNT+uint32(1)) {
 18982  		goto __339
 18983  	}
 18984  
 18985  	// In the pre-compile phase, we don't actually do the replication. We
 18986  	//           just adjust the length as if we had. For each repetition we must add
 18987  	//           1 to the length for BRAZERO and for all but the last repetition we
 18988  	//           must add 2 + 2*LINKSIZE to allow for the nesting that occurs. Do some
 18989  	//           paranoid checks to avoid integer overflow. The INT64_OR_DOUBLE type
 18990  	//           is a 64-bit integer type when available, otherwise double.
 18991  
 18992  	if !(lengthptr != uintptr(0) && repeat_max > Tuint32_t(0)) {
 18993  		goto __341
 18994  	}
 18995  
 18996  	delta2 = Tsize_t(repeat_max)*(*(*Tsize_t)(unsafe.Pointer(bp + 120))+uint64(1)+uint64(2)+uint64(2*DLINK_SIZE)) - uint64(2) - uint64(2*DLINK_SIZE) // Last one doesn't nest
 18997  	if !(Tint64_t(repeat_max)*Tint64_t(*(*Tsize_t)(unsafe.Pointer(bp + 120))+uint64(1)+uint64(2)+uint64(2*DLINK_SIZE)) >
 18998  		int64(0x7fffffff) || uint64(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < delta2) {
 18999  		goto __343
 19000  	}
 19001  
 19002  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 19003  	return 0
 19004  __343:
 19005  	;
 19006  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) += delta2
 19007  	goto __342
 19008  __341:
 19009  	{
 19010  		i16 = repeat_max
 19011  	__344:
 19012  		if !(i16 >= Tuint32_t(1)) {
 19013  			goto __346
 19014  		}
 19015  
 19016  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_BRAZERO + repeat_type)
 19017  
 19018  		// All but the final copy start a new nesting, maintaining the
 19019  		//             chain of brackets outstanding.
 19020  
 19021  		if !(i16 != Tuint32_t(1)) {
 19022  			goto __347
 19023  		}
 19024  
 19025  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_BRA
 19026  		if bralink == uintptr(0) {
 19027  			linkoffset1 = 0
 19028  		} else {
 19029  			linkoffset1 = int32((int64(code) - int64(bralink)) / 1)
 19030  		}
 19031  		bralink = code
 19032  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(linkoffset1 >> 8)
 19033  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(linkoffset1 & 255)
 19034  		code += uintptr(DLINK_SIZE)
 19035  	__347:
 19036  		;
 19037  
 19038  		libc.Xmemcpy(tls, code, previous, uint64(len*(DPCRE2_CODE_UNIT_WIDTH/8)))
 19039  		code += uintptr(len)
 19040  		goto __345
 19041  	__345:
 19042  		i16--
 19043  		goto __344
 19044  		goto __346
 19045  	__346:
 19046  	}
 19047  __342:
 19048  	;
 19049  
 19050  	// Now chain through the pending brackets, and fill in their length
 19051  	//           fields (which are holding the chain links pro tem).
 19052  
 19053  __348:
 19054  	if !(bralink != uintptr(0)) {
 19055  		goto __349
 19056  	}
 19057  
 19058  	linkoffset2 = int32((int64(code)-int64(bralink))/1 + int64(1))
 19059  	bra = code - uintptr(linkoffset2)
 19060  	oldlinkoffset = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 2)))))
 19061  	if oldlinkoffset == 0 {
 19062  		bralink = uintptr(0)
 19063  	} else {
 19064  		bralink = bralink - uintptr(oldlinkoffset)
 19065  	}
 19066  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KET
 19067  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(linkoffset2 >> 8)
 19068  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(linkoffset2 & 255)
 19069  	code += uintptr(DLINK_SIZE)
 19070  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 1)) = TPCRE2_UCHAR8(linkoffset2 >> 8)
 19071  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bra + 2)) = TPCRE2_UCHAR8(linkoffset2 & 255)
 19072  	goto __348
 19073  __349:
 19074  	;
 19075  	goto __340
 19076  __339:
 19077  
 19078  	ketcode = code - uintptr(1) - uintptr(DLINK_SIZE)
 19079  	bracode = ketcode - uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode + 2)))))
 19080  
 19081  	// Convert possessive ONCE brackets to non-capturing
 19082  
 19083  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_ONCE && possessive_quantifier != 0) {
 19084  		goto __350
 19085  	}
 19086  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) = OP_BRA
 19087  __350:
 19088  	;
 19089  
 19090  	// For non-possessive ONCE and for SCRIPT_RUN brackets, all we need
 19091  	//           to do is to set the KET.
 19092  
 19093  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_ONCE || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_SCRIPT_RUN) {
 19094  		goto __351
 19095  	}
 19096  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode)) = TPCRE2_UCHAR8(OP_KETRMAX + repeat_type)
 19097  	goto __352
 19098  __351:
 19099  
 19100  	// In the compile phase, adjust the opcode if the group can match
 19101  	//             an empty string. For a conditional group with only one branch, the
 19102  	//             value of group_return will not show "could be empty", so we must
 19103  	//             check that separately.
 19104  
 19105  	if !(lengthptr == uintptr(0)) {
 19106  		goto __353
 19107  	}
 19108  
 19109  	if !(group_return < 0) {
 19110  		goto __354
 19111  	}
 19112  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) += TPCRE2_UCHAR8(OP_SBRA - OP_BRA)
 19113  __354:
 19114  	;
 19115  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_COND && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 2)))))))) != OP_ALT) {
 19116  		goto __355
 19117  	}
 19118  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) = OP_SCOND
 19119  __355:
 19120  	;
 19121  __353:
 19122  	;
 19123  
 19124  	// Handle possessive quantifiers.
 19125  
 19126  	if !(possessive_quantifier != 0) {
 19127  		goto __356
 19128  	}
 19129  
 19130  	// For COND brackets, we wrap the whole thing in a possessively
 19131  	//               repeated non-capturing bracket, because we have not invented POS
 19132  	//               versions of the COND opcodes.
 19133  
 19134  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_COND || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_SCOND) {
 19135  		goto __358
 19136  	}
 19137  
 19138  	nlen = int32((int64(code) - int64(bracode)) / 1)
 19139  	libc.Xmemmove(tls, bracode+uintptr(1)+uintptr(DLINK_SIZE), bracode, uint64(nlen*(DPCRE2_CODE_UNIT_WIDTH/8)))
 19140  	code += uintptr(1 + DLINK_SIZE)
 19141  	nlen = nlen + (1 + DLINK_SIZE)
 19142  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) = func() uint8 {
 19143  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) == OP_COND {
 19144  			return OP_BRAPOS
 19145  		}
 19146  		return OP_SBRAPOS
 19147  	}()
 19148  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KETRPOS
 19149  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(nlen >> 8)
 19150  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(nlen & 255)
 19151  	code += uintptr(DLINK_SIZE)
 19152  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 1)) = TPCRE2_UCHAR8(nlen >> 8)
 19153  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 2)) = TPCRE2_UCHAR8(nlen & 255)
 19154  	goto __359
 19155  __358:
 19156  
 19157  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode)) += TPCRE2_UCHAR8(1) // Switch to xxxPOS opcodes
 19158  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode)) = OP_KETRPOS
 19159  __359:
 19160  	;
 19161  
 19162  	// If the minimum is zero, mark it as possessive, then unset the
 19163  	//               possessive flag when the minimum is 0 or 1.
 19164  
 19165  	if !(brazeroptr != uintptr(0)) {
 19166  		goto __360
 19167  	}
 19168  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(brazeroptr)) = OP_BRAPOSZERO
 19169  __360:
 19170  	;
 19171  	if !(repeat_min < Tuint32_t(2)) {
 19172  		goto __361
 19173  	}
 19174  	possessive_quantifier = DFALSE
 19175  __361:
 19176  	;
 19177  	goto __357
 19178  __356:
 19179  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(ketcode)) = TPCRE2_UCHAR8(OP_KETRMAX + repeat_type)
 19180  __357:
 19181  	;
 19182  __352:
 19183  	;
 19184  __340:
 19185  	;
 19186  
 19187  	goto __267
 19188  
 19189  	// If previous was a character type match (\d or similar), abolish it and
 19190  	//       create a suitable repeat item. The code is shared with single-character
 19191  	//       repeats by setting op_type to add a suitable offset into repeat_type.
 19192  	//       Note the the Unicode property types will be present only when
 19193  	//       SUPPORT_UNICODE is defined, but we don't wrap the little bits of code
 19194  	//       here because it just makes it horribly messy.
 19195  
 19196  __292:
 19197  	if !(int32(op_previous) >= OP_EODN) {
 19198  		goto __362
 19199  	} /* Not a character type - internal error */
 19200  
 19201  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR10
 19202  	return 0
 19203  	goto __363
 19204  __362:
 19205  
 19206  	if !(repeat_max == Tuint32_t(1) && repeat_min == Tuint32_t(1)) {
 19207  		goto __364
 19208  	}
 19209  	goto END_REPEAT
 19210  __364:
 19211  	;
 19212  
 19213  	op_type = Tuint32_t(OP_TYPESTAR - OP_STAR) // Use type opcodes
 19214  	mclength = Tuint32_t(0)                    // Not a character
 19215  
 19216  	if !(int32(op_previous) == OP_PROP || int32(op_previous) == OP_NOTPROP) {
 19217  		goto __365
 19218  	}
 19219  
 19220  	prop_type = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 1)))
 19221  	prop_value = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(previous + 2)))
 19222  	goto __366
 19223  __365:
 19224  
 19225  	// Come here from just above with a character in mcbuffer/mclength.
 19226  OUTPUT_SINGLE_REPEAT:
 19227  	prop_type = libc.AssignInt32(&prop_value, -1)
 19228  __366:
 19229  	;
 19230  
 19231  	// At this point, if prop_type == prop_value == -1 we either have a
 19232  	//         character in mcbuffer when mclength is greater than zero, or we have
 19233  	//         mclength zero, in which case there is a non-property character type in
 19234  	//         op_previous. If prop_type/value are not negative, we have a property
 19235  	//         character type in op_previous.
 19236  
 19237  	oldcode = code  // Save where we were
 19238  	code = previous // Usually overwrite previous item
 19239  
 19240  	// If the maximum is zero then the minimum must also be zero; Perl allows
 19241  	//         this case, so we do too - by simply omitting the item altogether.
 19242  
 19243  	if !(repeat_max == Tuint32_t(0)) {
 19244  		goto __367
 19245  	}
 19246  	goto END_REPEAT
 19247  __367:
 19248  	;
 19249  
 19250  	// Combine the op_type with the repeat_type
 19251  
 19252  	repeat_type = repeat_type + op_type
 19253  
 19254  	// A minimum of zero is handled either as the special case * or ?, or as
 19255  	//         an UPTO, with the maximum given.
 19256  
 19257  	if !(repeat_min == Tuint32_t(0)) {
 19258  		goto __368
 19259  	}
 19260  
 19261  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 19262  		goto __370
 19263  	}
 19264  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_STAR + repeat_type)
 19265  	goto __371
 19266  __370:
 19267  	if !(repeat_max == Tuint32_t(1)) {
 19268  		goto __372
 19269  	}
 19270  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_QUERY + repeat_type)
 19271  	goto __373
 19272  __372:
 19273  
 19274  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_UPTO + repeat_type)
 19275  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_max >> 8)
 19276  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_max & Tuint32_t(255))
 19277  	code += uintptr(DIMM2_SIZE)
 19278  __373:
 19279  	;
 19280  __371:
 19281  	;
 19282  	goto __369
 19283  __368:
 19284  	if !(repeat_min == Tuint32_t(1)) {
 19285  		goto __374
 19286  	}
 19287  
 19288  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 19289  		goto __376
 19290  	}
 19291  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_PLUS + repeat_type)
 19292  	goto __377
 19293  __376:
 19294  
 19295  	code = oldcode // Leave previous item in place
 19296  	if !(repeat_max == Tuint32_t(1)) {
 19297  		goto __378
 19298  	}
 19299  	goto END_REPEAT
 19300  __378:
 19301  	;
 19302  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_UPTO + repeat_type)
 19303  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8((repeat_max - Tuint32_t(1)) >> 8)
 19304  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8((repeat_max - Tuint32_t(1)) & Tuint32_t(255))
 19305  	code += uintptr(DIMM2_SIZE)
 19306  __377:
 19307  	;
 19308  	goto __375
 19309  __374:
 19310  
 19311  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_EXACT + op_type) // NB EXACT doesn't have repeat_type
 19312  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_min >> 8)
 19313  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_min & Tuint32_t(255))
 19314  	code += uintptr(DIMM2_SIZE)
 19315  
 19316  	// Unless repeat_max equals repeat_min, fill in the data for EXACT,
 19317  	//           and then generate the second opcode. For a repeated Unicode property
 19318  	//           match, there are two extra values that define the required property,
 19319  	//           and mclength is set zero to indicate this.
 19320  
 19321  	if !(repeat_max != repeat_min) {
 19322  		goto __379
 19323  	}
 19324  
 19325  	if !(mclength > Tuint32_t(0)) {
 19326  		goto __380
 19327  	}
 19328  
 19329  	libc.Xmemcpy(tls, code, bp+72, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 19330  	code += uintptr(mclength)
 19331  	goto __381
 19332  __380:
 19333  
 19334  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = op_previous
 19335  	if !(prop_type >= 0) {
 19336  		goto __382
 19337  	}
 19338  
 19339  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_type)
 19340  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_value)
 19341  __382:
 19342  	;
 19343  __381:
 19344  	;
 19345  
 19346  	// Now set up the following opcode
 19347  
 19348  	if !(repeat_max == DMAX_REPEAT_COUNT+uint32(1)) {
 19349  		goto __383
 19350  	}
 19351  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_STAR + repeat_type)
 19352  	goto __384
 19353  __383:
 19354  
 19355  	repeat_max = repeat_max - repeat_min
 19356  	if !(repeat_max == Tuint32_t(1)) {
 19357  		goto __385
 19358  	}
 19359  
 19360  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_QUERY + repeat_type)
 19361  	goto __386
 19362  __385:
 19363  
 19364  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(OP_UPTO + repeat_type)
 19365  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(repeat_max >> 8)
 19366  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(repeat_max & Tuint32_t(255))
 19367  	code += uintptr(DIMM2_SIZE)
 19368  __386:
 19369  	;
 19370  __384:
 19371  	;
 19372  __379:
 19373  	;
 19374  __375:
 19375  	;
 19376  __369:
 19377  	;
 19378  
 19379  	// Fill in the character or character type for the final opcode.
 19380  
 19381  	if !(mclength > Tuint32_t(0)) {
 19382  		goto __387
 19383  	}
 19384  
 19385  	libc.Xmemcpy(tls, code, bp+72, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 19386  	code += uintptr(mclength)
 19387  	goto __388
 19388  __387:
 19389  
 19390  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = op_previous
 19391  	if !(prop_type >= 0) {
 19392  		goto __389
 19393  	}
 19394  
 19395  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_type)
 19396  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(prop_value)
 19397  __389:
 19398  	;
 19399  __388:
 19400  	;
 19401  __363:
 19402  	;
 19403  	goto __267
 19404  __267:
 19405  	; // End of switch on different op_previous values
 19406  
 19407  	// If the character following a repeat is '+', possessive_quantifier is
 19408  	//     TRUE. For some opcodes, there are special alternative opcodes for this
 19409  	//     case. For anything else, we wrap the entire repeated item inside OP_ONCE
 19410  	//     brackets. Logically, the '+' notation is just syntactic sugar, taken from
 19411  	//     Sun's Java package, but the special opcodes can optimize it.
 19412  	//
 19413  	//     Some (but not all) possessively repeated subpatterns have already been
 19414  	//     completely handled in the code just above. For them, possessive_quantifier
 19415  	//     is always FALSE at this stage. Note that the repeated item starts at
 19416  	//     tempcode, not at previous, which might be the first part of a string whose
 19417  	//     (former) last char we repeated.
 19418  
 19419  	if !(possessive_quantifier != 0) {
 19420  		goto __390
 19421  	}
 19422  
 19423  	// Possessifying an EXACT quantifier has no effect, so we can ignore it.
 19424  	//       However, QUERY, STAR, or UPTO may follow (for quantifiers such as {5,6},
 19425  	//       {5,}, or {5,10}). We skip over an EXACT item; if the length of what
 19426  	//       remains is greater than zero, there's a further opcode that can be
 19427  	//       handled. If not, do nothing, leaving the EXACT alone.
 19428  
 19429  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */))))) {
 19430  	case OP_TYPEEXACT:
 19431  		goto __392
 19432  
 19433  	// CHAR opcodes are used for exacts whose count is 1.
 19434  
 19435  	case OP_CHAR:
 19436  		goto __393
 19437  	case OP_CHARI:
 19438  		goto __394
 19439  	case OP_NOT:
 19440  		goto __395
 19441  	case OP_NOTI:
 19442  		goto __396
 19443  	case OP_EXACT:
 19444  		goto __397
 19445  	case OP_EXACTI:
 19446  		goto __398
 19447  	case OP_NOTEXACT:
 19448  		goto __399
 19449  	case OP_NOTEXACTI:
 19450  		goto __400
 19451  
 19452  	// For the class opcodes, the repeat operator appears at the end;
 19453  	//         adjust tempcode to point to it.
 19454  
 19455  	case OP_CLASS:
 19456  		goto __401
 19457  	case OP_NCLASS:
 19458  		goto __402
 19459  
 19460  	case OP_XCLASS:
 19461  		goto __403
 19462  	}
 19463  	goto __391
 19464  
 19465  __392:
 19466  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88))))]) + func() int32 {
 19467  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 3))) == OP_PROP ||
 19468  			int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 3))) == OP_NOTPROP {
 19469  			return 2
 19470  		}
 19471  		return 0
 19472  	}())
 19473  	goto __391
 19474  
 19475  	// CHAR opcodes are used for exacts whose count is 1.
 19476  
 19477  __393:
 19478  __394:
 19479  __395:
 19480  __396:
 19481  __397:
 19482  __398:
 19483  __399:
 19484  __400:
 19485  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */))))])
 19486  	if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + libc.UintptrFromInt32(-1)))) >= 0xc0) {
 19487  		goto __404
 19488  	}
 19489  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + libc.UintptrFromInt32(-1))))&0x3f])
 19490  __404:
 19491  	;
 19492  	goto __391
 19493  
 19494  	// For the class opcodes, the repeat operator appears at the end;
 19495  	//         adjust tempcode to point to it.
 19496  
 19497  __401:
 19498  __402:
 19499  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(uint64(1) + uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 19500  	goto __391
 19501  
 19502  __403:
 19503  	*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + 2)))))
 19504  	goto __391
 19505  __391:
 19506  	;
 19507  
 19508  	// If tempcode is equal to code (which points to the end of the repeated
 19509  	//       item), it means we have skipped an EXACT item but there is no following
 19510  	//       QUERY, STAR, or UPTO; the value of len will be 0, and we do nothing. In
 19511  	//       all other cases, tempcode will be pointing to the repeat opcode, and will
 19512  	//       be less than code, so the value of len will be greater than 0.
 19513  
 19514  	len1 = int32((int64(code) - int64(*(*uintptr)(unsafe.Pointer(bp + 88)))) / 1)
 19515  	if !(len1 > 0) {
 19516  		goto __405
 19517  	}
 19518  
 19519  	repcode = uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)))))
 19520  
 19521  	// There is a table for possessifying opcodes, all of which are less
 19522  	//         than OP_CALLOUT. A zero entry means there is no possessified version.
 19523  	//
 19524  
 19525  	if !(repcode < OP_CALLOUT && int32(opcode_possessify[repcode]) > 0) {
 19526  		goto __406
 19527  	}
 19528  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)))) = opcode_possessify[repcode]
 19529  	goto __407
 19530  __406:
 19531  
 19532  	libc.Xmemmove(tls, *(*uintptr)(unsafe.Pointer(bp + 88))+uintptr(1)+uintptr(DLINK_SIZE), *(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)), uint64(len1*(DPCRE2_CODE_UNIT_WIDTH/8)))
 19533  	code += uintptr(1 + DLINK_SIZE)
 19534  	len1 = len1 + (1 + DLINK_SIZE)
 19535  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)))) = OP_ONCE
 19536  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_KET
 19537  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(len1 >> 8)
 19538  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(len1 & 255)
 19539  	code += uintptr(DLINK_SIZE)
 19540  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) + 1)) = TPCRE2_UCHAR8(len1 >> 8)
 19541  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* tempcode */)) + 2)) = TPCRE2_UCHAR8(len1 & 255)
 19542  __407:
 19543  	;
 19544  __405:
 19545  	;
 19546  __390:
 19547  	;
 19548  
 19549  	// We set the "follows varying string" flag for subsequently encountered
 19550  	//     reqcus if it isn't already set and we have just passed a varying length
 19551  	//     item.
 19552  
 19553  END_REPEAT:
 19554  	*(*Tuint32_t)(unsafe.Pointer(cb + 276)) |= reqvary
 19555  	goto __12
 19556  
 19557  	// ===================================================================
 19558  	// Handle a 32-bit data character with a value greater than META_END.
 19559  
 19560  __67:
 19561  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4
 19562  	goto NORMAL_CHAR
 19563  
 19564  	// ===============================================================
 19565  	// Handle a back reference by number, which is the meta argument. The
 19566  	//     pattern offsets for back references to group numbers less than 10 are held
 19567  	//     in a special vector, to avoid using more than two parsed pattern elements
 19568  	//     in 64-bit environments. We only need the offset to the first occurrence,
 19569  	//     because if that doesn't fail, subsequent ones will also be OK.
 19570  
 19571  __68:
 19572  	if !(meta_arg < Tuint32_t(10)) {
 19573  		goto __408
 19574  	}
 19575  	offset = *(*Tsize_t)(unsafe.Pointer(cb + 88 + uintptr(meta_arg)*8))
 19576  	goto __409
 19577  __408:
 19578  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)))
 19579  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 19580  __409:
 19581  	;
 19582  
 19583  	if !(meta_arg > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 19584  		goto __410
 19585  	}
 19586  
 19587  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 19588  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 // Non-existent subpattern
 19589  	return 0
 19590  __410:
 19591  	;
 19592  
 19593  	// Come here from named backref handling when the reference is to a
 19594  	//     single group (that is, not to a duplicated name). The back reference
 19595  	//     data will have already been updated. We must disable firstcu if not
 19596  	//     set, to cope with cases like (?=(\w+))\1: which would otherwise set ':'
 19597  	//     later.
 19598  
 19599  HANDLE_SINGLE_REFERENCE:
 19600  	if !(firstcuflags == DREQ_UNSET) {
 19601  		goto __411
 19602  	}
 19603  	zerofirstcuflags = libc.AssignUint32(&firstcuflags, DREQ_NONE)
 19604  __411:
 19605  	;
 19606  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 19607  		if options&DPCRE2_CASELESS != Tuint32_t(0) {
 19608  			return OP_REFI
 19609  		}
 19610  		return OP_REF
 19611  	}()
 19612  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = TPCRE2_UCHAR8(meta_arg >> 8)
 19613  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(meta_arg & Tuint32_t(255))
 19614  	code += uintptr(DIMM2_SIZE)
 19615  
 19616  	// Update the map of back references, and keep the highest one. We
 19617  	//     could do this in parse_regex() for numerical back references, but not
 19618  	//     for named back references, because we don't know the numbers to which
 19619  	//     named back references refer. So we do it all in this function.
 19620  
 19621  	*(*Tuint32_t)(unsafe.Pointer(cb + 252)) |= func() uint32 {
 19622  		if meta_arg < Tuint32_t(32) {
 19623  			return uint32(1) << meta_arg
 19624  		}
 19625  		return uint32(1)
 19626  	}()
 19627  	if !(meta_arg > (*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref) {
 19628  		goto __412
 19629  	}
 19630  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ftop_backref = meta_arg
 19631  __412:
 19632  	;
 19633  	goto __12
 19634  
 19635  	// ===============================================================
 19636  	// Handle recursion by inserting the number of the called group (which is
 19637  	//     the meta argument) after OP_RECURSE. At the end of compiling the pattern is
 19638  	//     scanned and these numbers are replaced by offsets within the pattern. It is
 19639  	//     done like this to avoid problems with forward references and adjusting
 19640  	//     offsets when groups are duplicated and moved (as discovered in previous
 19641  	//     implementations). Note that a recursion does not have a set first
 19642  	//     character.
 19643  
 19644  __69:
 19645  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + 2*4)))
 19646  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4 * uintptr(2)
 19647  
 19648  	if !(meta_arg > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 19649  		goto __413
 19650  	}
 19651  
 19652  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 19653  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR15 // Non-existent subpattern
 19654  	return 0
 19655  __413:
 19656  	;
 19657  HANDLE_NUMERICAL_RECURSION:
 19658  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)) = OP_RECURSE
 19659  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)) = TPCRE2_UCHAR8(meta_arg >> 8)
 19660  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)) = TPCRE2_UCHAR8(meta_arg & Tuint32_t(255))
 19661  	code += uintptr(1 + DLINK_SIZE)
 19662  	groupsetfirstcu = DFALSE
 19663  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_recurse = DTRUE
 19664  	if !(firstcuflags == DREQ_UNSET) {
 19665  		goto __414
 19666  	}
 19667  	firstcuflags = DREQ_NONE
 19668  __414:
 19669  	;
 19670  	zerofirstcu = firstcu
 19671  	zerofirstcuflags = firstcuflags
 19672  	goto __12
 19673  
 19674  	// ===============================================================
 19675  	// Handle capturing parentheses; the number is the meta argument.
 19676  
 19677  __70:
 19678  	bravalue = OP_CBRA
 19679  	skipunits = Tuint32_t(DIMM2_SIZE)
 19680  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)) = TPCRE2_UCHAR8(meta_arg >> 8)
 19681  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)) = TPCRE2_UCHAR8(meta_arg & Tuint32_t(255))
 19682  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Flastcapture = meta_arg
 19683  	goto GROUP_PROCESS_NOTE_EMPTY
 19684  
 19685  	// ===============================================================
 19686  	// Handle escape sequence items. For ones like \d, the ESC_values are
 19687  	//     arranged to be the same as the corresponding OP_values in the default case
 19688  	//     when PCRE2_UCP is not set (which is the only case in which they will appear
 19689  	//     here).
 19690  	//
 19691  	//     Note: \Q and \E are never seen here, as they were dealt with in
 19692  	//     parse_pattern(). Neither are numerical back references or recursions, which
 19693  	//     were turned into META_BACKREF or META_RECURSE items, respectively. \k and
 19694  	//     \g, when followed by names, are turned into META_BACKREF_BYNAME or
 19695  	//     META_RECURSE_BYNAME.
 19696  
 19697  __71:
 19698  
 19699  	// We can test for escape sequences that consume a character because their
 19700  	//     values lie between ESC_b and ESC_Z; this may have to change if any new ones
 19701  	//     are ever created. For these sequences, we disable the setting of a first
 19702  	//     character if it hasn't already been set.
 19703  
 19704  	if !(meta_arg > ESC_b && meta_arg < ESC_Z) {
 19705  		goto __415
 19706  	}
 19707  
 19708  	matched_char = DTRUE
 19709  	if !(firstcuflags == DREQ_UNSET) {
 19710  		goto __416
 19711  	}
 19712  	firstcuflags = DREQ_NONE
 19713  __416:
 19714  	;
 19715  __415:
 19716  	;
 19717  
 19718  	// Set values to reset to if this is followed by a zero repeat.
 19719  
 19720  	zerofirstcu = firstcu
 19721  	zerofirstcuflags = firstcuflags
 19722  	zeroreqcu = reqcu
 19723  	zeroreqcuflags = reqcuflags
 19724  
 19725  	// If Unicode is not supported, \P and \p are not allowed and are
 19726  	//     faulted at parse time, so will never appear here.
 19727  
 19728  	if !(meta_arg == ESC_P || meta_arg == ESC_p) {
 19729  		goto __417
 19730  	}
 19731  
 19732  	ptype1 = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 96)), 4))) >> 16
 19733  	pdata1 = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)))) & Tuint32_t(0xffff)
 19734  
 19735  	// The special case of \p{Any} is compiled to OP_ALLANY so as to benefit
 19736  	//       from the auto-anchoring code.
 19737  
 19738  	if !(meta_arg == ESC_p && ptype1 == Tuint32_t(DPT_ANY)) {
 19739  		goto __418
 19740  	}
 19741  
 19742  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_ALLANY
 19743  	goto __419
 19744  __418:
 19745  
 19746  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 19747  		if meta_arg == ESC_p {
 19748  			return OP_PROP
 19749  		}
 19750  		return OP_NOTPROP
 19751  	}()
 19752  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(ptype1)
 19753  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(pdata1)
 19754  __419:
 19755  	;
 19756  	goto __12 // End META_ESCAPE
 19757  __417:
 19758  	;
 19759  
 19760  	// \K is forbidden in lookarounds since 10.38 because that's what Perl has
 19761  	//     done. However, there's an option, in case anyone was relying on it.
 19762  
 19763  	if !(int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth) > 0 && meta_arg == ESC_K && (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fextra_options&DPCRE2_EXTRA_ALLOW_LOOKAROUND_BSK == Tuint32_t(0)) {
 19764  		goto __420
 19765  	}
 19766  
 19767  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR99
 19768  	return 0
 19769  __420:
 19770  	;
 19771  
 19772  	// For the rest (including \X when Unicode is supported - if not it's
 19773  	//     faulted at parse time), the OP value is the escape value when PCRE2_UCP is
 19774  	//     not set; if it is set, these escapes do not show up here because they are
 19775  	//     converted into Unicode property tests in parse_regex(). Note that \b and \B
 19776  	//     do a one-character lookbehind, and \A also behaves as if it does.
 19777  
 19778  	if !(meta_arg == ESC_C) {
 19779  		goto __421
 19780  	}
 19781  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASBKC)
 19782  __421:
 19783  	; // Record
 19784  	if !((meta_arg == ESC_b || meta_arg == ESC_B || meta_arg == ESC_A) && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind == 0) {
 19785  		goto __422
 19786  	}
 19787  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind = 1
 19788  __422:
 19789  	;
 19790  
 19791  	// In non-UTF mode, and for both 32-bit modes, we turn \C into OP_ALLANY
 19792  	//     instead of OP_ANYBYTE so that it works in DFA mode and in lookbehinds.
 19793  
 19794  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 19795  		if !(utf != 0) && meta_arg == ESC_C {
 19796  			return OP_ALLANY
 19797  		}
 19798  		return uint8(meta_arg)
 19799  	}()
 19800  	goto __12 // End META_ESCAPE
 19801  
 19802  	// ===================================================================
 19803  	// Handle an unrecognized meta value. A parsed pattern value less than
 19804  	//     META_END is a literal. Otherwise we have a problem.
 19805  
 19806  __72:
 19807  	if !(meta >= DMETA_END) {
 19808  		goto __423
 19809  	}
 19810  
 19811  	*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR89 // Internal error - unrecognized.
 19812  	return 0
 19813  __423:
 19814  	;
 19815  
 19816  	// Handle a literal character. We come here by goto in the case of a
 19817  	//     32-bit, non-UTF character whose value is greater than META_END.
 19818  
 19819  NORMAL_CHAR:
 19820  	meta = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)))) // Get the full 32 bits
 19821  NORMAL_CHAR_SET: // Character is already in meta
 19822  	matched_char = DTRUE
 19823  
 19824  	// For caseless UTF or UCP mode, check whether this character has more than
 19825  	//     one other case. If so, generate a special OP_PROP item instead of OP_CHARI.
 19826  	//
 19827  
 19828  	if !((utf != 0 || ucp != 0) && options&DPCRE2_CASELESS != Tuint32_t(0)) {
 19829  		goto __424
 19830  	}
 19831  
 19832  	caseset = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(meta)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(meta)%DUCD_BLOCK_SIZE])*12)).Fcaseset)
 19833  	if !(caseset != Tuint32_t(0)) {
 19834  		goto __425
 19835  	}
 19836  
 19837  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = OP_PROP
 19838  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(DPT_CLIST)
 19839  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = TPCRE2_UCHAR8(caseset)
 19840  	if !(firstcuflags == DREQ_UNSET) {
 19841  		goto __426
 19842  	}
 19843  	firstcuflags = libc.AssignUint32(&zerofirstcuflags, DREQ_NONE)
 19844  __426:
 19845  	;
 19846  	goto __12 // End handling this meta item
 19847  __425:
 19848  	;
 19849  __424:
 19850  	;
 19851  
 19852  	// Caseful matches, or caseless and not one of the multicase characters. We
 19853  	//     come here by goto in the case of a positive class that contains only
 19854  	//     case-partners of a character with just two cases; matched_char has already
 19855  	//     been set TRUE and options fudged if necessary.
 19856  
 19857  CLASS_CASELESS_CHAR:
 19858  
 19859  	// Get the character's code units into mcbuffer, with the length in
 19860  	//     mclength. When not in UTF mode, the length is always 1.
 19861  
 19862  	if !(utf != 0) {
 19863  		goto __427
 19864  	}
 19865  	mclength = X_pcre2_ord2utf_8(tls, meta, bp+72)
 19866  	goto __428
 19867  __427:
 19868  
 19869  	mclength = Tuint32_t(1)
 19870  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72)) = TPCRE2_UCHAR8(meta)
 19871  __428:
 19872  	;
 19873  
 19874  	// Generate the appropriate code
 19875  
 19876  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&code, 1))) = func() uint8 {
 19877  		if options&DPCRE2_CASELESS != Tuint32_t(0) {
 19878  			return OP_CHARI
 19879  		}
 19880  		return OP_CHAR
 19881  	}()
 19882  	libc.Xmemcpy(tls, code, bp+72, uint64(mclength*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 19883  	code += uintptr(mclength)
 19884  
 19885  	// Remember if \r or \n were seen
 19886  
 19887  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72))) == '\015' || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72))) == '\012') {
 19888  		goto __429
 19889  	}
 19890  	*(*Tuint32_t)(unsafe.Pointer(cb + 208)) |= Tuint32_t(DPCRE2_HASCRORLF)
 19891  __429:
 19892  	;
 19893  
 19894  	// Set the first and required code units appropriately. If no previous
 19895  	//     first code unit, set it from this character, but revert to none on a zero
 19896  	//     repeat. Otherwise, leave the firstcu value alone, and don't change it on
 19897  	//     a zero repeat.
 19898  
 19899  	if !(firstcuflags == DREQ_UNSET) {
 19900  		goto __430
 19901  	}
 19902  
 19903  	zerofirstcuflags = DREQ_NONE
 19904  	zeroreqcu = reqcu
 19905  	zeroreqcuflags = reqcuflags
 19906  
 19907  	// If the character is more than one code unit long, we can set a single
 19908  	//       firstcu only if it is not to be matched caselessly. Multiple possible
 19909  	//       starting code units may be picked up later in the studying code.
 19910  
 19911  	if !(mclength == Tuint32_t(1) || req_caseopt == Tuint32_t(0)) {
 19912  		goto __432
 19913  	}
 19914  
 19915  	firstcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 72)))
 19916  	firstcuflags = req_caseopt
 19917  	if !(mclength != Tuint32_t(1)) {
 19918  		goto __434
 19919  	}
 19920  
 19921  	reqcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))
 19922  	reqcuflags = (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt
 19923  __434:
 19924  	;
 19925  	goto __433
 19926  __432:
 19927  	firstcuflags = libc.AssignUint32(&reqcuflags, DREQ_NONE)
 19928  __433:
 19929  	;
 19930  	goto __431
 19931  __430:
 19932  
 19933  	zerofirstcu = firstcu
 19934  	zerofirstcuflags = firstcuflags
 19935  	zeroreqcu = reqcu
 19936  	zeroreqcuflags = reqcuflags
 19937  	if !(mclength == Tuint32_t(1) || req_caseopt == Tuint32_t(0)) {
 19938  		goto __435
 19939  	}
 19940  
 19941  	reqcu = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))
 19942  	reqcuflags = req_caseopt | (*Tcompile_block_8)(unsafe.Pointer(cb)).Freq_varyopt
 19943  __435:
 19944  	;
 19945  __431:
 19946  	;
 19947  
 19948  	// If caselessness was temporarily instated, reset it.
 19949  
 19950  	if !(reset_caseful != 0) {
 19951  		goto __436
 19952  	}
 19953  
 19954  	options = options & libc.CplUint32(DPCRE2_CASELESS)
 19955  	req_caseopt = Tuint32_t(0)
 19956  	reset_caseful = DFALSE
 19957  __436:
 19958  	;
 19959  
 19960  	goto __12 // End literal character handling
 19961  __12:
 19962  	; // End of big switch
 19963  	goto __2
 19964  __2:
 19965  	*(*uintptr)(unsafe.Pointer(bp + 96 /* pptr */)) += 4
 19966  	goto __1
 19967  	goto __3
 19968  __3:
 19969  	;
 19970  	return int32(0) // End of big loop
 19971  
 19972  	// Control never reaches here.
 19973  }
 19974  
 19975  // ************************************************
 19976  //
 19977  //   Compile regex: a sequence of alternatives    *
 19978  //
 19979  
 19980  // On entry, pptr is pointing past the bracket meta, but on return it points to
 19981  // the closing bracket or META_END. The code variable is pointing at the code unit
 19982  // into which the BRA operator has been stored. This function is used during the
 19983  // pre-compile phase when we are trying to find out the amount of memory needed,
 19984  // as well as during the real compile phase. The value of lengthptr distinguishes
 19985  // the two phases.
 19986  //
 19987  // Arguments:
 19988  //   options           option bits, including any changes for this subpattern
 19989  //   codeptr           -> the address of the current code pointer
 19990  //   pptrptr           -> the address of the current parsed pattern pointer
 19991  //   errorcodeptr      -> pointer to error code variable
 19992  //   skipunits         skip this many code units at start (for brackets and OP_COND)
 19993  //   firstcuptr        place to put the first required code unit
 19994  //   firstcuflagsptr   place to put the first code unit flags
 19995  //   reqcuptr          place to put the last required code unit
 19996  //   reqcuflagsptr     place to put the last required code unit flags
 19997  //   bcptr             pointer to the chain of currently open branches
 19998  //   cb                points to the data block with tables pointers etc.
 19999  //   lengthptr         NULL during the real compile phase
 20000  //                     points to length accumulator during pre-compile phase
 20001  //
 20002  // Returns:            0 There has been an error
 20003  //                    +1 Success, this group must match at least one character
 20004  //                    -1 Success, this group may match an empty string
 20005  
 20006  func compile_regex(tls *libc.TLS, options Tuint32_t, codeptr uintptr, pptrptr uintptr, errorcodeptr uintptr, skipunits Tuint32_t, firstcuptr uintptr, firstcuflagsptr uintptr, reqcuptr uintptr, reqcuflagsptr uintptr, bcptr uintptr, cb uintptr, lengthptr uintptr) int32 { /* pcre2_compile.c:8095:1: */
 20007  	bp := tls.Alloc(80)
 20008  	defer tls.Free(80)
 20009  	*(*Tuint32_t)(unsafe.Pointer(bp + 16)) = options
 20010  
 20011  	*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) = *(*uintptr)(unsafe.Pointer(codeptr))
 20012  	var last_branch uintptr = *(*uintptr)(unsafe.Pointer(bp + 24 /* code */))
 20013  	var start_bracket uintptr = *(*uintptr)(unsafe.Pointer(bp + 24 /* code */))
 20014  	var lookbehind TBOOL
 20015  	// var capitem Topen_capitem at bp, 16
 20016  
 20017  	var capnumber int32 = 0
 20018  	var okreturn int32 = 1
 20019  	*(*uintptr)(unsafe.Pointer(bp + 32 /* pptr */)) = *(*uintptr)(unsafe.Pointer(pptrptr))
 20020  	var firstcu Tuint32_t
 20021  	var reqcu Tuint32_t
 20022  	var lookbehindlength Tuint32_t
 20023  	var firstcuflags Tuint32_t
 20024  	var reqcuflags Tuint32_t
 20025  	// var branchfirstcu Tuint32_t at bp+40, 4
 20026  
 20027  	// var branchreqcu Tuint32_t at bp+48, 4
 20028  
 20029  	// var branchfirstcuflags Tuint32_t at bp+44, 4
 20030  
 20031  	// var branchreqcuflags Tuint32_t at bp+52, 4
 20032  
 20033  	// var length Tsize_t at bp+72, 8
 20034  
 20035  	// var bc Tbranch_chain_8 at bp+56, 16
 20036  
 20037  	// If set, call the external function that checks for stack availability.
 20038  
 20039  	if (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fstack_guard != uintptr(0) && (*struct {
 20040  		f func(*libc.TLS, Tuint32_t, uintptr) int32
 20041  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fstack_guard})).f(tls, uint32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fparens_depth), (*Tpcre2_real_compile_context_8)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fcx)).Fstack_guard_data) != 0 {
 20042  		*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR33
 20043  		return 0
 20044  	}
 20045  
 20046  	// Miscellaneous initialization
 20047  
 20048  	(*Tbranch_chain_8)(unsafe.Pointer(bp + 56 /* &bc */)).Fouter = bcptr
 20049  	(*Tbranch_chain_8)(unsafe.Pointer(bp + 56 /* &bc */)).Fcurrent_branch = *(*uintptr)(unsafe.Pointer(bp + 24 /* code */))
 20050  
 20051  	firstcu = libc.AssignUint32(&reqcu, Tuint32_t(0))
 20052  	firstcuflags = libc.AssignUint32(&reqcuflags, DREQ_UNSET)
 20053  
 20054  	// Accumulate the length for use in the pre-compile phase. Start with the
 20055  	// length of the BRA and KET and any extra code units that are required at the
 20056  	// beginning. We accumulate in a local variable to save frequent testing of
 20057  	// lengthptr for NULL. We cannot do this by looking at the value of 'code' at the
 20058  	// start and end of each alternative, because compiled items are discarded during
 20059  	// the pre-compile phase so that the workspace is not exceeded.
 20060  
 20061  	*(*Tsize_t)(unsafe.Pointer(bp + 72 /* length */)) = Tsize_t(Tuint32_t(2+2*DLINK_SIZE) + skipunits)
 20062  
 20063  	// Remember if this is a lookbehind assertion, and if it is, save its length
 20064  	// and skip over the pattern offset.
 20065  
 20066  	lookbehind = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24))))) == OP_ASSERTBACK || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24))))) == OP_ASSERTBACK_NOT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24))))) == OP_ASSERTBACK_NA)
 20067  
 20068  	if lookbehind != 0 {
 20069  		lookbehindlength = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)) + libc.UintptrFromInt32(-1)*4)) & 0x0000ffff
 20070  		*(*uintptr)(unsafe.Pointer(bp + 32 /* pptr */)) += 4 * uintptr(DSIZEOFFSET)
 20071  	} else {
 20072  		lookbehindlength = Tuint32_t(0)
 20073  	}
 20074  
 20075  	// If this is a capturing subpattern, add to the chain of open capturing items
 20076  	// so that we can detect them if (*ACCEPT) is encountered. Note that only OP_CBRA
 20077  	// need be tested here; changing this opcode to one of its variants, e.g.
 20078  	// OP_SCBRAPOS, happens later, after the group has been compiled.
 20079  
 20080  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24))))) == OP_CBRA {
 20081  		capnumber = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)) + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)) + 4)))))
 20082  		(*Topen_capitem)(unsafe.Pointer(bp /* &capitem */)).Fnumber = Tuint16_t(capnumber)
 20083  		(*Topen_capitem)(unsafe.Pointer(bp /* &capitem */)).Fnext = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps
 20084  		(*Topen_capitem)(unsafe.Pointer(bp /* &capitem */)).Fassert_depth = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fassert_depth
 20085  		(*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps = bp /* &capitem */
 20086  	}
 20087  
 20088  	// Offset is set zero to mark that this bracket is still open
 20089  
 20090  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 1)) = TPCRE2_UCHAR8(int32(0) >> 8)
 20091  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 2)) = TPCRE2_UCHAR8(0 & 255)
 20092  	*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) += uintptr(Tuint32_t(1+DLINK_SIZE) + skipunits)
 20093  
 20094  	// Loop for each alternative branch
 20095  
 20096  	for {
 20097  		var branch_return int32
 20098  
 20099  		// Insert OP_REVERSE if this is as lookbehind assertion.
 20100  
 20101  		if lookbehind != 0 && lookbehindlength > Tuint32_t(0) {
 20102  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)), 1))) = OP_REVERSE
 20103  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)))) = TPCRE2_UCHAR8(lookbehindlength >> 8)
 20104  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 1)) = TPCRE2_UCHAR8(lookbehindlength & Tuint32_t(255))
 20105  			*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) += uintptr(DLINK_SIZE)
 20106  			*(*Tsize_t)(unsafe.Pointer(bp + 72 /* length */)) += uint64(1 + DLINK_SIZE)
 20107  		}
 20108  
 20109  		// Now compile the branch; in the pre-compile phase its length gets added
 20110  		//   into the length.
 20111  
 20112  		if libc.AssignInt32(&branch_return, compile_branch(tls, bp+16, bp+24, bp+32, errorcodeptr, bp+40,
 20113  			bp+44, bp+48, bp+52, bp+56,
 20114  			cb, func() uintptr {
 20115  				if lengthptr == uintptr(0) {
 20116  					return uintptr(0)
 20117  				}
 20118  				return bp + 72
 20119  			}())) == 0 {
 20120  			return 0
 20121  		}
 20122  
 20123  		// If a branch can match an empty string, so can the whole group.
 20124  
 20125  		if branch_return < 0 {
 20126  			okreturn = -1
 20127  		}
 20128  
 20129  		// In the real compile phase, there is some post-processing to be done.
 20130  
 20131  		if lengthptr == uintptr(0) {
 20132  			// If this is the first branch, the firstcu and reqcu values for the
 20133  			//     branch become the values for the regex.
 20134  
 20135  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch))) != OP_ALT {
 20136  				firstcu = *(*Tuint32_t)(unsafe.Pointer(bp + 40 /* branchfirstcu */))
 20137  				firstcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 44 /* branchfirstcuflags */))
 20138  				reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 48 /* branchreqcu */))
 20139  				reqcuflags = *(*Tuint32_t)(unsafe.Pointer(bp + 52 /* branchreqcuflags */))
 20140  			} else {
 20141  				// If we previously had a firstcu, but it doesn't match the new branch,
 20142  				//       we have to abandon the firstcu for the regex, but if there was
 20143  				//       previously no reqcu, it takes on the value of the old firstcu.
 20144  
 20145  				if firstcuflags != *(*Tuint32_t)(unsafe.Pointer(bp + 44)) || firstcu != *(*Tuint32_t)(unsafe.Pointer(bp + 40)) {
 20146  					if firstcuflags < DREQ_NONE {
 20147  						if reqcuflags >= DREQ_NONE {
 20148  							reqcu = firstcu
 20149  							reqcuflags = firstcuflags
 20150  						}
 20151  					}
 20152  					firstcuflags = DREQ_NONE
 20153  				}
 20154  
 20155  				// If we (now or from before) have no firstcu, a firstcu from the
 20156  				//       branch becomes a reqcu if there isn't a branch reqcu.
 20157  
 20158  				if firstcuflags >= DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 44)) < DREQ_NONE && *(*Tuint32_t)(unsafe.Pointer(bp + 52)) >= DREQ_NONE {
 20159  					*(*Tuint32_t)(unsafe.Pointer(bp + 48 /* branchreqcu */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 40 /* branchfirstcu */))
 20160  					*(*Tuint32_t)(unsafe.Pointer(bp + 52 /* branchreqcuflags */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 44 /* branchfirstcuflags */))
 20161  				}
 20162  
 20163  				// Now ensure that the reqcus match
 20164  
 20165  				if reqcuflags&libc.CplUint32(DREQ_VARY) != *(*Tuint32_t)(unsafe.Pointer(bp + 52))&libc.CplUint32(DREQ_VARY) || reqcu != *(*Tuint32_t)(unsafe.Pointer(bp + 48)) {
 20166  					reqcuflags = DREQ_NONE
 20167  				} else {
 20168  					reqcu = *(*Tuint32_t)(unsafe.Pointer(bp + 48 /* branchreqcu */))
 20169  					reqcuflags = reqcuflags | *(*Tuint32_t)(unsafe.Pointer(bp + 52)) // To "or" REQ_VARY if present
 20170  				}
 20171  			}
 20172  		}
 20173  
 20174  		// Handle reaching the end of the expression, either ')' or end of pattern.
 20175  		//   In the real compile phase, go back through the alternative branches and
 20176  		//   reverse the chain of offsets, with the field in the BRA item now becoming an
 20177  		//   offset to the first alternative. If there are no alternatives, it points to
 20178  		//   the end of the group. The length in the terminating ket is always the length
 20179  		//   of the whole bracketed item. Return leaving the pointer at the terminating
 20180  		//   char.
 20181  
 20182  		if *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32))))&0xffff0000 != DMETA_ALT {
 20183  			if lengthptr == uintptr(0) {
 20184  				var branch_length Tsize_t = Tsize_t((int64(*(*uintptr)(unsafe.Pointer(bp + 24))) - int64(last_branch)) / 1)
 20185  				for __ccgo := true; __ccgo; __ccgo = branch_length > uint64(0) {
 20186  					var prev_length Tsize_t = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch + 2)))))
 20187  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch + 1)) = TPCRE2_UCHAR8(branch_length >> 8)
 20188  					*(*TPCRE2_UCHAR8)(unsafe.Pointer(last_branch + 2)) = TPCRE2_UCHAR8(branch_length & uint64(255))
 20189  					branch_length = prev_length
 20190  					last_branch -= uintptr(branch_length)
 20191  				}
 20192  			}
 20193  
 20194  			// Fill in the ket
 20195  
 20196  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)))) = OP_KET
 20197  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 1)) = TPCRE2_UCHAR8(int32((int64(*(*uintptr)(unsafe.Pointer(bp + 24)))-int64(start_bracket))/1) >> 8)
 20198  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 2)) = TPCRE2_UCHAR8(int32((int64(*(*uintptr)(unsafe.Pointer(bp + 24)))-int64(start_bracket))/1) & 255)
 20199  			*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) += uintptr(1 + DLINK_SIZE)
 20200  
 20201  			// If it was a capturing subpattern, remove the block from the chain.
 20202  
 20203  			if capnumber > 0 {
 20204  				(*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps = (*Topen_capitem)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fopen_caps)).Fnext
 20205  			}
 20206  
 20207  			// Set values to pass back
 20208  
 20209  			*(*uintptr)(unsafe.Pointer(codeptr)) = *(*uintptr)(unsafe.Pointer(bp + 24 /* code */))
 20210  			*(*uintptr)(unsafe.Pointer(pptrptr)) = *(*uintptr)(unsafe.Pointer(bp + 32 /* pptr */))
 20211  			*(*Tuint32_t)(unsafe.Pointer(firstcuptr)) = firstcu
 20212  			*(*Tuint32_t)(unsafe.Pointer(firstcuflagsptr)) = firstcuflags
 20213  			*(*Tuint32_t)(unsafe.Pointer(reqcuptr)) = reqcu
 20214  			*(*Tuint32_t)(unsafe.Pointer(reqcuflagsptr)) = reqcuflags
 20215  			if lengthptr != uintptr(0) {
 20216  				if uint64(0x7fffffff-20)-*(*Tsize_t)(unsafe.Pointer(lengthptr)) < *(*Tsize_t)(unsafe.Pointer(bp + 72)) {
 20217  					*(*int32)(unsafe.Pointer(errorcodeptr)) = ERR20
 20218  					return 0
 20219  				}
 20220  				*(*Tsize_t)(unsafe.Pointer(lengthptr)) += *(*Tsize_t)(unsafe.Pointer(bp + 72))
 20221  			}
 20222  			return okreturn
 20223  		}
 20224  
 20225  		// Another branch follows. In the pre-compile phase, we can move the code
 20226  		//   pointer back to where it was for the start of the first branch. (That is,
 20227  		//   pretend that each branch is the only one.)
 20228  		//
 20229  		//   In the real compile phase, insert an ALT node. Its length field points back
 20230  		//   to the previous branch while the bracket remains open. At the end the chain
 20231  		//   is reversed. It's done like this so that the start of the bracket has a
 20232  		//   zero offset until it is closed, making it possible to detect recursion.
 20233  
 20234  		if lengthptr != uintptr(0) {
 20235  			*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) = *(*uintptr)(unsafe.Pointer(codeptr)) + uintptr(1) + uintptr(DLINK_SIZE) + uintptr(skipunits)
 20236  			*(*Tsize_t)(unsafe.Pointer(bp + 72 /* length */)) += uint64(1 + DLINK_SIZE)
 20237  		} else {
 20238  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)))) = OP_ALT
 20239  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 1)) = TPCRE2_UCHAR8(int32((int64(*(*uintptr)(unsafe.Pointer(bp + 24)))-int64(last_branch))/1) >> 8)
 20240  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) + 2)) = TPCRE2_UCHAR8(int32((int64(*(*uintptr)(unsafe.Pointer(bp + 24)))-int64(last_branch))/1) & 255)
 20241  			(*Tbranch_chain_8)(unsafe.Pointer(bp + 56 /* &bc */)).Fcurrent_branch = libc.AssignUintptr(&last_branch, *(*uintptr)(unsafe.Pointer(bp + 24 /* code */)))
 20242  			*(*uintptr)(unsafe.Pointer(bp + 24 /* code */)) += uintptr(1 + DLINK_SIZE)
 20243  		}
 20244  
 20245  		// Set the lookbehind length (if not in a lookbehind the value will be zero)
 20246  		//   and then advance past the vertical bar.
 20247  
 20248  		lookbehindlength = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))) & 0x0000ffff
 20249  		*(*uintptr)(unsafe.Pointer(bp + 32 /* pptr */)) += 4
 20250  	}
 20251  	return int32(0)
 20252  	// Control never reaches here
 20253  }
 20254  
 20255  // ************************************************
 20256  //
 20257  //          Check for anchored pattern            *
 20258  //
 20259  
 20260  // Try to find out if this is an anchored regular expression. Consider each
 20261  // alternative branch. If they all start with OP_SOD or OP_CIRC, or with a bracket
 20262  // all of whose alternatives start with OP_SOD or OP_CIRC (recurse ad lib), then
 20263  // it's anchored. However, if this is a multiline pattern, then only OP_SOD will
 20264  // be found, because ^ generates OP_CIRCM in that mode.
 20265  //
 20266  // We can also consider a regex to be anchored if OP_SOM starts all its branches.
 20267  // This is the code for \G, which means "match at start of match position, taking
 20268  // into account the match offset".
 20269  //
 20270  // A branch is also implicitly anchored if it starts with .* and DOTALL is set,
 20271  // because that will try the rest of the pattern at all possible matching points,
 20272  // so there is no point trying again.... er ....
 20273  //
 20274  // .... except when the .* appears inside capturing parentheses, and there is a
 20275  // subsequent back reference to those parentheses. We haven't enough information
 20276  // to catch that case precisely.
 20277  //
 20278  // At first, the best we could do was to detect when .* was in capturing brackets
 20279  // and the highest back reference was greater than or equal to that level.
 20280  // However, by keeping a bitmap of the first 31 back references, we can catch some
 20281  // of the more common cases more precisely.
 20282  //
 20283  // ... A second exception is when the .* appears inside an atomic group, because
 20284  // this prevents the number of characters it matches from being adjusted.
 20285  //
 20286  // Arguments:
 20287  //   code           points to start of the compiled pattern
 20288  //   bracket_map    a bitmap of which brackets we are inside while testing; this
 20289  //                    handles up to substring 31; after that we just have to take
 20290  //                    the less precise approach
 20291  //   cb             points to the compile data block
 20292  //   atomcount      atomic group level
 20293  //   inassert       TRUE if in an assertion
 20294  //
 20295  // Returns:     TRUE or FALSE
 20296  
 20297  func is_anchored(tls *libc.TLS, code TPCRE2_SPTR8, bracket_map Tuint32_t, cb uintptr, atomcount int32, inassert TBOOL) TBOOL { /* pcre2_compile.c:8394:1: */
 20298  	for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 20299  		var scode TPCRE2_SPTR8 = first_significant_code(tls,
 20300  			code+uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))]), DFALSE)
 20301  		var op int32 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode)))
 20302  
 20303  		// Non-capturing brackets
 20304  
 20305  		if op == OP_BRA || op == OP_BRAPOS || op == OP_SBRA || op == OP_SBRAPOS {
 20306  			if !(is_anchored(tls, scode, bracket_map, cb, atomcount, inassert) != 0) {
 20307  				return DFALSE
 20308  			}
 20309  		} else if op == OP_CBRA || op == OP_CBRAPOS || op == OP_SCBRA || op == OP_SCBRAPOS {
 20310  			var n int32 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 4)))))
 20311  			var new_map Tuint32_t = bracket_map | func() uint32 {
 20312  				if n < 32 {
 20313  					return uint32(1) << n
 20314  				}
 20315  				return uint32(1)
 20316  			}()
 20317  			if !(is_anchored(tls, scode, new_map, cb, atomcount, inassert) != 0) {
 20318  				return DFALSE
 20319  			}
 20320  		} else if op == OP_ASSERT || op == OP_ASSERT_NA {
 20321  			if !(is_anchored(tls, scode, bracket_map, cb, atomcount, DTRUE) != 0) {
 20322  				return DFALSE
 20323  			}
 20324  		} else if op == OP_COND || op == OP_SCOND {
 20325  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 2)))))))) != OP_ALT {
 20326  				return DFALSE
 20327  			}
 20328  			if !(is_anchored(tls, scode, bracket_map, cb, atomcount, inassert) != 0) {
 20329  				return DFALSE
 20330  			}
 20331  		} else if op == OP_ONCE {
 20332  			if !(is_anchored(tls, scode, bracket_map, cb, atomcount+1, inassert) != 0) {
 20333  				return DFALSE
 20334  			}
 20335  		} else if op == OP_TYPESTAR || op == OP_TYPEMINSTAR || op == OP_TYPEPOSSTAR {
 20336  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) != OP_ALLANY || bracket_map&(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbackref_map != Tuint32_t(0) || atomcount > 0 || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_pruneorskip != 0 || inassert != 0 || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_NO_DOTSTAR_ANCHOR != Tuint32_t(0) {
 20337  				return DFALSE
 20338  			}
 20339  		} else if op != OP_SOD && op != OP_SOM && op != OP_CIRC {
 20340  			return DFALSE
 20341  		}
 20342  
 20343  		code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 20344  	} // Loop for each alternative
 20345  	return DTRUE
 20346  }
 20347  
 20348  // ************************************************
 20349  //
 20350  //         Check for starting with ^ or .*        *
 20351  //
 20352  
 20353  // This is called to find out if every branch starts with ^ or .* so that
 20354  // "first char" processing can be done to speed things up in multiline
 20355  // matching and for non-DOTALL patterns that start with .* (which must start at
 20356  // the beginning or after \n). As in the case of is_anchored() (see above), we
 20357  // have to take account of back references to capturing brackets that contain .*
 20358  // because in that case we can't make the assumption. Also, the appearance of .*
 20359  // inside atomic brackets or in an assertion, or in a pattern that contains *PRUNE
 20360  // or *SKIP does not count, because once again the assumption no longer holds.
 20361  //
 20362  // Arguments:
 20363  //   code           points to start of the compiled pattern or a group
 20364  //   bracket_map    a bitmap of which brackets we are inside while testing; this
 20365  //                    handles up to substring 31; after that we just have to take
 20366  //                    the less precise approach
 20367  //   cb             points to the compile data
 20368  //   atomcount      atomic group level
 20369  //   inassert       TRUE if in an assertion
 20370  //
 20371  // Returns:         TRUE or FALSE
 20372  
 20373  func is_startline(tls *libc.TLS, code TPCRE2_SPTR8, bracket_map uint32, cb uintptr, atomcount int32, inassert TBOOL) TBOOL { /* pcre2_compile.c:8499:1: */
 20374  	for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 20375  		var scode TPCRE2_SPTR8 = first_significant_code(tls,
 20376  			code+uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))]), DFALSE)
 20377  		var op int32 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode)))
 20378  
 20379  		// If we are at the start of a conditional assertion group, *both* the
 20380  		//    conditional assertion *and* what follows the condition must satisfy the test
 20381  		//    for start of line. Other kinds of condition fail. Note that there may be an
 20382  		//    auto-callout at the start of a condition.
 20383  
 20384  		if op == OP_COND {
 20385  			scode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 20386  
 20387  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) == OP_CALLOUT {
 20388  				scode += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[OP_CALLOUT])
 20389  			} else if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) == OP_CALLOUT_STR {
 20390  				scode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 6)))))
 20391  			}
 20392  
 20393  			switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) {
 20394  			case OP_CREF:
 20395  				fallthrough
 20396  			case OP_DNCREF:
 20397  				fallthrough
 20398  			case OP_RREF:
 20399  				fallthrough
 20400  			case OP_DNRREF:
 20401  				fallthrough
 20402  			case OP_FAIL:
 20403  				fallthrough
 20404  			case OP_FALSE:
 20405  				fallthrough
 20406  			case OP_TRUE:
 20407  				return DFALSE
 20408  				fallthrough
 20409  
 20410  			default: // Assertion
 20411  				if !(is_startline(tls, scode, bracket_map, cb, atomcount, DTRUE) != 0) {
 20412  					return DFALSE
 20413  				}
 20414  				for __ccgo1 := true; __ccgo1; __ccgo1 = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))) == OP_ALT {
 20415  					scode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 2)))))
 20416  				}
 20417  				scode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 20418  				break
 20419  			}
 20420  			scode = first_significant_code(tls, scode, DFALSE)
 20421  			op = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode)))
 20422  		}
 20423  
 20424  		// Non-capturing brackets
 20425  
 20426  		if op == OP_BRA || op == OP_BRAPOS || op == OP_SBRA || op == OP_SBRAPOS {
 20427  			if !(is_startline(tls, scode, bracket_map, cb, atomcount, inassert) != 0) {
 20428  				return DFALSE
 20429  			}
 20430  		} else if op == OP_CBRA || op == OP_CBRAPOS || op == OP_SCBRA || op == OP_SCBRAPOS {
 20431  			var n int32 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 4)))))
 20432  			var new_map int32 = int32(bracket_map | func() uint32 {
 20433  				if n < 32 {
 20434  					return uint32(1) << n
 20435  				}
 20436  				return uint32(1)
 20437  			}())
 20438  			if !(is_startline(tls, scode, uint32(new_map), cb, atomcount, inassert) != 0) {
 20439  				return DFALSE
 20440  			}
 20441  		} else if op == OP_ASSERT || op == OP_ASSERT_NA {
 20442  			if !(is_startline(tls, scode, bracket_map, cb, atomcount, DTRUE) != 0) {
 20443  				return DFALSE
 20444  			}
 20445  		} else if op == OP_ONCE {
 20446  			if !(is_startline(tls, scode, bracket_map, cb, atomcount+1, inassert) != 0) {
 20447  				return DFALSE
 20448  			}
 20449  		} else if op == OP_TYPESTAR || op == OP_TYPEMINSTAR || op == OP_TYPEPOSSTAR {
 20450  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) != OP_ANY || bracket_map&(*Tcompile_block_8)(unsafe.Pointer(cb)).Fbackref_map != uint32(0) || atomcount > 0 || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fhad_pruneorskip != 0 || inassert != 0 || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_NO_DOTSTAR_ANCHOR != Tuint32_t(0) {
 20451  				return DFALSE
 20452  			}
 20453  		} else if op != OP_CIRC && op != OP_CIRCM {
 20454  			return DFALSE
 20455  		}
 20456  
 20457  		// Move on to the next alternative
 20458  
 20459  		code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 20460  	} // Loop for each alternative
 20461  	return DTRUE
 20462  }
 20463  
 20464  // ************************************************
 20465  //
 20466  //   Scan compiled regex for recursion reference  *
 20467  //
 20468  
 20469  // This function scans through a compiled pattern until it finds an instance of
 20470  // OP_RECURSE.
 20471  //
 20472  // Arguments:
 20473  //   code        points to start of expression
 20474  //   utf         TRUE in UTF mode
 20475  //
 20476  // Returns:      pointer to the opcode for OP_RECURSE, or NULL if not found
 20477  
 20478  func find_recurse(tls *libc.TLS, code TPCRE2_SPTR8, utf TBOOL) TPCRE2_SPTR8 { /* pcre2_compile.c:8621:1: */
 20479  	for {
 20480  		var c TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
 20481  		if int32(c) == OP_END {
 20482  			return uintptr(0)
 20483  		}
 20484  		if int32(c) == OP_RECURSE {
 20485  			return code
 20486  		}
 20487  
 20488  		// XCLASS is used for classes that cannot be represented just by a bit map.
 20489  		//   This includes negated single high-valued characters. CALLOUT_STR is used for
 20490  		//   callouts with string arguments. In both cases the length in the table is
 20491  		//   zero; the actual length is stored in the compiled code.
 20492  
 20493  		if int32(c) == OP_XCLASS {
 20494  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 20495  		} else if int32(c) == OP_CALLOUT_STR {
 20496  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
 20497  		} else {
 20498  			switch int32(c) {
 20499  			case OP_TYPESTAR:
 20500  				fallthrough
 20501  			case OP_TYPEMINSTAR:
 20502  				fallthrough
 20503  			case OP_TYPEPLUS:
 20504  				fallthrough
 20505  			case OP_TYPEMINPLUS:
 20506  				fallthrough
 20507  			case OP_TYPEQUERY:
 20508  				fallthrough
 20509  			case OP_TYPEMINQUERY:
 20510  				fallthrough
 20511  			case OP_TYPEPOSSTAR:
 20512  				fallthrough
 20513  			case OP_TYPEPOSPLUS:
 20514  				fallthrough
 20515  			case OP_TYPEPOSQUERY:
 20516  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_NOTPROP {
 20517  					code += uintptr(2)
 20518  				}
 20519  				break
 20520  				fallthrough
 20521  
 20522  			case OP_TYPEPOSUPTO:
 20523  				fallthrough
 20524  			case OP_TYPEUPTO:
 20525  				fallthrough
 20526  			case OP_TYPEMINUPTO:
 20527  				fallthrough
 20528  			case OP_TYPEEXACT:
 20529  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_NOTPROP {
 20530  					code += uintptr(2)
 20531  				}
 20532  				break
 20533  				fallthrough
 20534  
 20535  			case OP_MARK:
 20536  				fallthrough
 20537  			case OP_COMMIT_ARG:
 20538  				fallthrough
 20539  			case OP_PRUNE_ARG:
 20540  				fallthrough
 20541  			case OP_SKIP_ARG:
 20542  				fallthrough
 20543  			case OP_THEN_ARG:
 20544  				code += TPCRE2_SPTR8(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
 20545  				break
 20546  			}
 20547  
 20548  			// Add in the fixed length from the table
 20549  
 20550  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
 20551  
 20552  			// In UTF-8 and UTF-16 modes, opcodes that are followed by a character may
 20553  			//     be followed by a multi-unit character. The length in the table is a
 20554  			//     minimum, so we have to arrange to skip the extra units.
 20555  
 20556  			if utf != 0 {
 20557  				switch int32(c) {
 20558  				case OP_CHAR:
 20559  					fallthrough
 20560  				case OP_CHARI:
 20561  					fallthrough
 20562  				case OP_NOT:
 20563  					fallthrough
 20564  				case OP_NOTI:
 20565  					fallthrough
 20566  				case OP_EXACT:
 20567  					fallthrough
 20568  				case OP_EXACTI:
 20569  					fallthrough
 20570  				case OP_NOTEXACT:
 20571  					fallthrough
 20572  				case OP_NOTEXACTI:
 20573  					fallthrough
 20574  				case OP_UPTO:
 20575  					fallthrough
 20576  				case OP_UPTOI:
 20577  					fallthrough
 20578  				case OP_NOTUPTO:
 20579  					fallthrough
 20580  				case OP_NOTUPTOI:
 20581  					fallthrough
 20582  				case OP_MINUPTO:
 20583  					fallthrough
 20584  				case OP_MINUPTOI:
 20585  					fallthrough
 20586  				case OP_NOTMINUPTO:
 20587  					fallthrough
 20588  				case OP_NOTMINUPTOI:
 20589  					fallthrough
 20590  				case OP_POSUPTO:
 20591  					fallthrough
 20592  				case OP_POSUPTOI:
 20593  					fallthrough
 20594  				case OP_NOTPOSUPTO:
 20595  					fallthrough
 20596  				case OP_NOTPOSUPTOI:
 20597  					fallthrough
 20598  				case OP_STAR:
 20599  					fallthrough
 20600  				case OP_STARI:
 20601  					fallthrough
 20602  				case OP_NOTSTAR:
 20603  					fallthrough
 20604  				case OP_NOTSTARI:
 20605  					fallthrough
 20606  				case OP_MINSTAR:
 20607  					fallthrough
 20608  				case OP_MINSTARI:
 20609  					fallthrough
 20610  				case OP_NOTMINSTAR:
 20611  					fallthrough
 20612  				case OP_NOTMINSTARI:
 20613  					fallthrough
 20614  				case OP_POSSTAR:
 20615  					fallthrough
 20616  				case OP_POSSTARI:
 20617  					fallthrough
 20618  				case OP_NOTPOSSTAR:
 20619  					fallthrough
 20620  				case OP_NOTPOSSTARI:
 20621  					fallthrough
 20622  				case OP_PLUS:
 20623  					fallthrough
 20624  				case OP_PLUSI:
 20625  					fallthrough
 20626  				case OP_NOTPLUS:
 20627  					fallthrough
 20628  				case OP_NOTPLUSI:
 20629  					fallthrough
 20630  				case OP_MINPLUS:
 20631  					fallthrough
 20632  				case OP_MINPLUSI:
 20633  					fallthrough
 20634  				case OP_NOTMINPLUS:
 20635  					fallthrough
 20636  				case OP_NOTMINPLUSI:
 20637  					fallthrough
 20638  				case OP_POSPLUS:
 20639  					fallthrough
 20640  				case OP_POSPLUSI:
 20641  					fallthrough
 20642  				case OP_NOTPOSPLUS:
 20643  					fallthrough
 20644  				case OP_NOTPOSPLUSI:
 20645  					fallthrough
 20646  				case OP_QUERY:
 20647  					fallthrough
 20648  				case OP_QUERYI:
 20649  					fallthrough
 20650  				case OP_NOTQUERY:
 20651  					fallthrough
 20652  				case OP_NOTQUERYI:
 20653  					fallthrough
 20654  				case OP_MINQUERY:
 20655  					fallthrough
 20656  				case OP_MINQUERYI:
 20657  					fallthrough
 20658  				case OP_NOTMINQUERY:
 20659  					fallthrough
 20660  				case OP_NOTMINQUERYI:
 20661  					fallthrough
 20662  				case OP_POSQUERY:
 20663  					fallthrough
 20664  				case OP_POSQUERYI:
 20665  					fallthrough
 20666  				case OP_NOTPOSQUERY:
 20667  					fallthrough
 20668  				case OP_NOTPOSQUERYI:
 20669  					if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))) >= 0xc0 {
 20670  						code += TPCRE2_SPTR8(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0x3f])
 20671  					}
 20672  					break
 20673  				}
 20674  			}
 20675  		}
 20676  	}
 20677  	return TPCRE2_SPTR8(0)
 20678  }
 20679  
 20680  // ************************************************
 20681  //
 20682  //    Check for asserted fixed first code unit    *
 20683  //
 20684  
 20685  // During compilation, the "first code unit" settings from forward assertions
 20686  // are discarded, because they can cause conflicts with actual literals that
 20687  // follow. However, if we end up without a first code unit setting for an
 20688  // unanchored pattern, it is worth scanning the regex to see if there is an
 20689  // initial asserted first code unit. If all branches start with the same asserted
 20690  // code unit, or with a non-conditional bracket all of whose alternatives start
 20691  // with the same asserted code unit (recurse ad lib), then we return that code
 20692  // unit, with the flags set to zero or REQ_CASELESS; otherwise return zero with
 20693  // REQ_NONE in the flags.
 20694  //
 20695  // Arguments:
 20696  //   code       points to start of compiled pattern
 20697  //   flags      points to the first code unit flags
 20698  //   inassert   non-zero if in an assertion
 20699  //
 20700  // Returns:     the fixed first code unit, or 0 with REQ_NONE in flags
 20701  
 20702  func find_firstassertedcu(tls *libc.TLS, code TPCRE2_SPTR8, flags uintptr, inassert Tuint32_t) Tuint32_t { /* pcre2_compile.c:8777:1: */
 20703  	bp := tls.Alloc(4)
 20704  	defer tls.Free(4)
 20705  
 20706  	var c Tuint32_t = Tuint32_t(0)
 20707  	var cflags Tuint32_t = DREQ_NONE
 20708  
 20709  	*(*Tuint32_t)(unsafe.Pointer(flags)) = DREQ_NONE
 20710  	for __ccgo := true; __ccgo; __ccgo = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 20711  		var d Tuint32_t
 20712  		// var dflags Tuint32_t at bp, 4
 20713  
 20714  		var xl int32
 20715  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_SCBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRAPOS || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_SCBRAPOS {
 20716  			xl = DIMM2_SIZE
 20717  		} else {
 20718  			xl = 0
 20719  		}
 20720  		var scode TPCRE2_SPTR8 = first_significant_code(tls, code+uintptr(1)+uintptr(DLINK_SIZE)+uintptr(xl), DTRUE)
 20721  		var op TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(scode))
 20722  
 20723  		switch int32(op) {
 20724  		default:
 20725  			return Tuint32_t(0)
 20726  
 20727  		case OP_BRA:
 20728  			fallthrough
 20729  		case OP_BRAPOS:
 20730  			fallthrough
 20731  		case OP_CBRA:
 20732  			fallthrough
 20733  		case OP_SCBRA:
 20734  			fallthrough
 20735  		case OP_CBRAPOS:
 20736  			fallthrough
 20737  		case OP_SCBRAPOS:
 20738  			fallthrough
 20739  		case OP_ASSERT:
 20740  			fallthrough
 20741  		case OP_ASSERT_NA:
 20742  			fallthrough
 20743  		case OP_ONCE:
 20744  			fallthrough
 20745  		case OP_SCRIPT_RUN:
 20746  			d = find_firstassertedcu(tls, scode, bp, inassert+func() uint32 {
 20747  				if int32(op) == OP_ASSERT || int32(op) == OP_ASSERT_NA {
 20748  					return uint32(1)
 20749  				}
 20750  				return uint32(0)
 20751  			}())
 20752  			if *(*Tuint32_t)(unsafe.Pointer(bp)) >= DREQ_NONE {
 20753  				return Tuint32_t(0)
 20754  			}
 20755  			if cflags >= DREQ_NONE {
 20756  				c = d
 20757  				cflags = *(*Tuint32_t)(unsafe.Pointer(bp /* dflags */))
 20758  			} else if c != d || cflags != *(*Tuint32_t)(unsafe.Pointer(bp)) {
 20759  				return Tuint32_t(0)
 20760  			}
 20761  			break
 20762  
 20763  		case OP_EXACT:
 20764  			scode += TPCRE2_SPTR8(DIMM2_SIZE)
 20765  			fallthrough
 20766  		// Fall through
 20767  
 20768  		case OP_CHAR:
 20769  			fallthrough
 20770  		case OP_PLUS:
 20771  			fallthrough
 20772  		case OP_MINPLUS:
 20773  			fallthrough
 20774  		case OP_POSPLUS:
 20775  			if inassert == Tuint32_t(0) {
 20776  				return Tuint32_t(0)
 20777  			}
 20778  			if cflags >= DREQ_NONE {
 20779  				c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1)))
 20780  				cflags = Tuint32_t(0)
 20781  			} else if c != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) {
 20782  				return Tuint32_t(0)
 20783  			}
 20784  			break
 20785  
 20786  		case OP_EXACTI:
 20787  			scode += TPCRE2_SPTR8(DIMM2_SIZE)
 20788  			fallthrough
 20789  		// Fall through
 20790  
 20791  		case OP_CHARI:
 20792  			fallthrough
 20793  		case OP_PLUSI:
 20794  			fallthrough
 20795  		case OP_MINPLUSI:
 20796  			fallthrough
 20797  		case OP_POSPLUSI:
 20798  			if inassert == Tuint32_t(0) {
 20799  				return Tuint32_t(0)
 20800  			}
 20801  
 20802  			// If the character is more than one code unit long, we cannot set its
 20803  			//      first code unit when matching caselessly. Later scanning may pick up
 20804  			//      multiple code units.
 20805  
 20806  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) >= 0x80 {
 20807  				return Tuint32_t(0)
 20808  			}
 20809  
 20810  			if cflags >= DREQ_NONE {
 20811  				c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1)))
 20812  				cflags = DREQ_CASELESS
 20813  			} else if c != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(scode + 1))) {
 20814  				return Tuint32_t(0)
 20815  			}
 20816  			break
 20817  		}
 20818  
 20819  		code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 20820  	}
 20821  
 20822  	*(*Tuint32_t)(unsafe.Pointer(flags)) = cflags
 20823  	return c
 20824  }
 20825  
 20826  // ************************************************
 20827  //
 20828  //     Add an entry to the name/number table      *
 20829  //
 20830  
 20831  // This function is called between compiling passes to add an entry to the
 20832  // name/number table, maintaining alphabetical order. Checking for permitted
 20833  // and forbidden duplicates has already been done.
 20834  //
 20835  // Arguments:
 20836  //   cb           the compile data block
 20837  //   name         the name to add
 20838  //   length       the length of the name
 20839  //   groupno      the group number
 20840  //   tablecount   the count of names in the table so far
 20841  //
 20842  // Returns:       nothing
 20843  
 20844  func add_name_to_table(tls *libc.TLS, cb uintptr, name TPCRE2_SPTR8, length int32, groupno uint32, tablecount Tuint32_t) { /* pcre2_compile.c:8882:1: */
 20845  	var i Tuint32_t
 20846  	var slot uintptr = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_table
 20847  
 20848  	for i = Tuint32_t(0); i < tablecount; i++ {
 20849  		var crc int32 = libc.Xmemcmp(tls, name, slot+uintptr(DIMM2_SIZE), uint64(length*(DPCRE2_CODE_UNIT_WIDTH/8)))
 20850  		if crc == 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + uintptr(DIMM2_SIZE+length)))) != 0 {
 20851  			crc = -1
 20852  		} // Current name is a substring
 20853  
 20854  		// Make space in the table and break the loop for an earlier name. For a
 20855  		//   duplicate or later name, carry on. We do this for duplicates so that in the
 20856  		//   simple case (when ?(| is not used) they are in order of their numbers. In all
 20857  		//   cases they are in the order in which they appear in the pattern.
 20858  
 20859  		if crc < 0 {
 20860  			libc.Xmemmove(tls, slot+uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size), slot,
 20861  				uint64((tablecount-i)*Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)*Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)))
 20862  			break
 20863  		}
 20864  
 20865  		// Continue the loop for a later or duplicate name
 20866  
 20867  		slot += uintptr((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)
 20868  	}
 20869  
 20870  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)) = TPCRE2_UCHAR8(groupno >> 8)
 20871  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1)) = TPCRE2_UCHAR8(groupno & uint32(255))
 20872  	libc.Xmemcpy(tls, slot+uintptr(DIMM2_SIZE), name, uint64(length*(DPCRE2_CODE_UNIT_WIDTH/8)))
 20873  
 20874  	// Add a terminating zero and fill the rest of the slot with zeroes so that
 20875  	// the memory is all initialized. Otherwise valgrind moans about uninitialized
 20876  	// memory when saving serialized compiled patterns.
 20877  
 20878  	libc.Xmemset(tls, slot+uintptr(DIMM2_SIZE)+uintptr(length), 0,
 20879  		uint64((int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fname_entry_size)-length-DIMM2_SIZE)*(DPCRE2_CODE_UNIT_WIDTH/8)))
 20880  }
 20881  
 20882  // ************************************************
 20883  //
 20884  //             Skip in parsed pattern             *
 20885  //
 20886  
 20887  // This function is called to skip parts of the parsed pattern when finding the
 20888  // length of a lookbehind branch. It is called after (*ACCEPT) and (*FAIL) to find
 20889  // the end of the branch, it is called to skip over an internal lookaround or
 20890  // (DEFINE) group, and it is also called to skip to the end of a class, during
 20891  // which it will never encounter nested groups (but there's no need to have
 20892  // special code for that).
 20893  //
 20894  // When called to find the end of a branch or group, pptr must point to the first
 20895  // meta code inside the branch, not the branch-starting code. In other cases it
 20896  // can point to the item that causes the function to be called.
 20897  //
 20898  // Arguments:
 20899  //   pptr       current pointer to skip from
 20900  //   skiptype   PSKIP_CLASS when skipping to end of class
 20901  //              PSKIP_ALT when META_ALT ends the skip
 20902  //              PSKIP_KET when only META_KET ends the skip
 20903  //
 20904  // Returns:     new value of pptr
 20905  //              NULL if META_END is reached - should never occur
 20906  //                or for an unknown meta value - likewise
 20907  
 20908  func parsed_skip(tls *libc.TLS, pptr uintptr, skiptype Tuint32_t) uintptr { /* pcre2_compile.c:8950:17: */
 20909  	var nestlevel Tuint32_t = Tuint32_t(0)
 20910  
 20911  	for ; ; pptr += 4 {
 20912  		var meta Tuint32_t = *(*Tuint32_t)(unsafe.Pointer(pptr)) & 0xffff0000
 20913  
 20914  		switch meta {
 20915  		default: // Just skip over most items
 20916  			if meta < DMETA_END {
 20917  				continue
 20918  			} // Literal
 20919  			break
 20920  
 20921  		// This should never occur.
 20922  
 20923  		case DMETA_END:
 20924  			return uintptr(0)
 20925  
 20926  		// The data for these items is variable in length.
 20927  
 20928  		case DMETA_BACKREF: // Offset is present only if group >= 10
 20929  			if *(*Tuint32_t)(unsafe.Pointer(pptr))&0x0000ffff >= Tuint32_t(10) {
 20930  				pptr += 4 * uintptr(DSIZEOFFSET)
 20931  			}
 20932  			break
 20933  
 20934  		case DMETA_ESCAPE: // A few escapes are followed by data items.
 20935  			switch *(*Tuint32_t)(unsafe.Pointer(pptr)) & 0x0000ffff {
 20936  			case ESC_P:
 20937  				fallthrough
 20938  			case ESC_p:
 20939  				pptr += 4 * uintptr(1)
 20940  				break
 20941  
 20942  			case ESC_g:
 20943  				fallthrough
 20944  			case ESC_k:
 20945  				pptr += 4 * uintptr(1+DSIZEOFFSET)
 20946  				break
 20947  			}
 20948  			break
 20949  
 20950  		case DMETA_MARK:
 20951  			fallthrough // Add the length of the name.
 20952  		case DMETA_COMMIT_ARG:
 20953  			fallthrough
 20954  		case DMETA_PRUNE_ARG:
 20955  			fallthrough
 20956  		case DMETA_SKIP_ARG:
 20957  			fallthrough
 20958  		case DMETA_THEN_ARG:
 20959  			pptr += 4 * uintptr(*(*Tuint32_t)(unsafe.Pointer(pptr + 1*4)))
 20960  			break
 20961  
 20962  		// These are the "active" items in this loop.
 20963  
 20964  		case DMETA_CLASS_END:
 20965  			if skiptype == PSKIP_CLASS {
 20966  				return pptr
 20967  			}
 20968  			break
 20969  
 20970  		case DMETA_ATOMIC:
 20971  			fallthrough
 20972  		case DMETA_CAPTURE:
 20973  			fallthrough
 20974  		case DMETA_COND_ASSERT:
 20975  			fallthrough
 20976  		case DMETA_COND_DEFINE:
 20977  			fallthrough
 20978  		case DMETA_COND_NAME:
 20979  			fallthrough
 20980  		case DMETA_COND_NUMBER:
 20981  			fallthrough
 20982  		case DMETA_COND_RNAME:
 20983  			fallthrough
 20984  		case DMETA_COND_RNUMBER:
 20985  			fallthrough
 20986  		case DMETA_COND_VERSION:
 20987  			fallthrough
 20988  		case DMETA_LOOKAHEAD:
 20989  			fallthrough
 20990  		case DMETA_LOOKAHEADNOT:
 20991  			fallthrough
 20992  		case DMETA_LOOKAHEAD_NA:
 20993  			fallthrough
 20994  		case DMETA_LOOKBEHIND:
 20995  			fallthrough
 20996  		case DMETA_LOOKBEHINDNOT:
 20997  			fallthrough
 20998  		case DMETA_LOOKBEHIND_NA:
 20999  			fallthrough
 21000  		case DMETA_NOCAPTURE:
 21001  			fallthrough
 21002  		case DMETA_SCRIPT_RUN:
 21003  			nestlevel++
 21004  			break
 21005  
 21006  		case DMETA_ALT:
 21007  			if nestlevel == Tuint32_t(0) && skiptype == PSKIP_ALT {
 21008  				return pptr
 21009  			}
 21010  			break
 21011  
 21012  		case DMETA_KET:
 21013  			if nestlevel == Tuint32_t(0) {
 21014  				return pptr
 21015  			}
 21016  			nestlevel--
 21017  			break
 21018  		}
 21019  
 21020  		// The extra data item length for each meta is in a table.
 21021  
 21022  		meta = meta >> 16 & Tuint32_t(0x7fff)
 21023  		if uint64(meta) >= uint64(unsafe.Sizeof(meta_extra_lengths)) {
 21024  			return uintptr(0)
 21025  		}
 21026  		pptr += 4 * uintptr(meta_extra_lengths[meta])
 21027  	}
 21028  	// Control never reaches here
 21029  	return pptr
 21030  }
 21031  
 21032  // ************************************************
 21033  //
 21034  //       Find length of a parsed group            *
 21035  //
 21036  
 21037  // This is called for nested groups within a branch of a lookbehind whose
 21038  // length is being computed. If all the branches in the nested group have the same
 21039  // length, that is OK. On entry, the pointer must be at the first element after
 21040  // the group initializing code. On exit it points to OP_KET. Caching is used to
 21041  // improve processing speed when the same capturing group occurs many times.
 21042  //
 21043  // Arguments:
 21044  //   pptrptr     pointer to pointer in the parsed pattern
 21045  //   isinline    FALSE if a reference or recursion; TRUE for inline group
 21046  //   errcodeptr  pointer to the errorcode
 21047  //   lcptr       pointer to the loop counter
 21048  //   group       number of captured group or -1 for a non-capturing group
 21049  //   recurses    chain of recurse_check to catch mutual recursion
 21050  //   cb          pointer to the compile data
 21051  //
 21052  // Returns:      the group length or a negative number
 21053  
 21054  func get_grouplength(tls *libc.TLS, pptrptr uintptr, isinline TBOOL, errcodeptr uintptr, lcptr uintptr, group int32, recurses uintptr, cb uintptr) int32 { /* pcre2_compile.c:9070:1: */
 21055  	var branchlength int32
 21056  	var grouplength int32
 21057  	var groupinfo Tuint32_t
 21058  	grouplength = -1
 21059  
 21060  	// The cache can be used only if there is no possibility of there being two
 21061  	// groups with the same number. We do not need to set the end pointer for a group
 21062  	// that is being processed as a back reference or recursion, but we must do so for
 21063  	// an inline group.
 21064  
 21065  	if !(group > 0 && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_flags&Tuint32_t(DPCRE2_DUPCAPUSED) == Tuint32_t(0)) {
 21066  		goto __1
 21067  	}
 21068  
 21069  	groupinfo = *(*Tuint32_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fgroupinfo + uintptr(group)*4))
 21070  	if !(groupinfo&DGI_NOT_FIXED_LENGTH != Tuint32_t(0)) {
 21071  		goto __2
 21072  	}
 21073  	return -1
 21074  __2:
 21075  	;
 21076  	if !(groupinfo&DGI_SET_FIXED_LENGTH != Tuint32_t(0)) {
 21077  		goto __3
 21078  	}
 21079  
 21080  	if !(isinline != 0) {
 21081  		goto __4
 21082  	}
 21083  	*(*uintptr)(unsafe.Pointer(pptrptr)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(pptrptr)), PSKIP_KET)
 21084  __4:
 21085  	;
 21086  	return int32(groupinfo & DGI_FIXED_LENGTH_MASK)
 21087  __3:
 21088  	;
 21089  __1:
 21090  	;
 21091  
 21092  	// Scan the group. In this case we find the end pointer of necessity.
 21093  
 21094  __5:
 21095  
 21096  	branchlength = get_branchlength(tls, pptrptr, errcodeptr, lcptr, recurses, cb)
 21097  	if !(branchlength < 0) {
 21098  		goto __8
 21099  	}
 21100  	goto ISNOTFIXED
 21101  __8:
 21102  	;
 21103  	if !(grouplength == -1) {
 21104  		goto __9
 21105  	}
 21106  	grouplength = branchlength
 21107  	goto __10
 21108  __9:
 21109  	if !(grouplength != branchlength) {
 21110  		goto __11
 21111  	}
 21112  	goto ISNOTFIXED
 21113  __11:
 21114  	;
 21115  __10:
 21116  	;
 21117  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pptrptr)))) == DMETA_KET) {
 21118  		goto __12
 21119  	}
 21120  	goto __7
 21121  __12:
 21122  	;
 21123  	*(*uintptr)(unsafe.Pointer(pptrptr)) += uintptr(1) * 4 // Skip META_ALT
 21124  	goto __6
 21125  __6:
 21126  	goto __5
 21127  	goto __7
 21128  __7:
 21129  	;
 21130  
 21131  	if !(group > 0) {
 21132  		goto __13
 21133  	}
 21134  	*(*Tuint32_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fgroupinfo + uintptr(group)*4)) |= DGI_SET_FIXED_LENGTH | uint32(grouplength)
 21135  __13:
 21136  	;
 21137  	return grouplength
 21138  
 21139  ISNOTFIXED:
 21140  	if !(group > 0) {
 21141  		goto __14
 21142  	}
 21143  	*(*Tuint32_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(cb)).Fgroupinfo + uintptr(group)*4)) |= DGI_NOT_FIXED_LENGTH
 21144  __14:
 21145  	;
 21146  	return -1
 21147  }
 21148  
 21149  // ************************************************
 21150  //
 21151  //        Find length of a parsed branch          *
 21152  //
 21153  
 21154  // Return a fixed length for a branch in a lookbehind, giving an error if the
 21155  // length is not fixed. On entry, *pptrptr points to the first element inside the
 21156  // branch. On exit it is set to point to the ALT or KET.
 21157  //
 21158  // Arguments:
 21159  //   pptrptr     pointer to pointer in the parsed pattern
 21160  //   errcodeptr  pointer to error code
 21161  //   lcptr       pointer to loop counter
 21162  //   recurses    chain of recurse_check to catch mutual recursion
 21163  //   cb          pointer to compile block
 21164  //
 21165  // Returns:      the length, or a negative value on error
 21166  
 21167  func get_branchlength(tls *libc.TLS, pptrptr uintptr, errcodeptr uintptr, lcptr uintptr, recurses uintptr, cb uintptr) int32 { /* pcre2_compile.c:9134:1: */
 21168  	bp := tls.Alloc(32)
 21169  	defer tls.Free(32)
 21170  
 21171  	var branchlength int32
 21172  	var grouplength int32
 21173  	var lastitemlength Tuint32_t
 21174  	// var pptr uintptr at bp, 8
 21175  
 21176  	var offset Tsize_t
 21177  	// var this_recurse Tparsed_recurse_check at bp+16, 16
 21178  
 21179  	var i int32
 21180  	var name TPCRE2_SPTR8
 21181  	var is_dupname TBOOL
 21182  	var ng uintptr
 21183  	var meta_code Tuint32_t
 21184  	var length Tuint32_t
 21185  	var r uintptr
 21186  	// var gptr uintptr at bp+8, 8
 21187  
 21188  	var gptrend uintptr
 21189  	var escape Tuint32_t
 21190  	var group Tuint32_t
 21191  	var itemlength Tuint32_t
 21192  	branchlength = 0
 21193  	lastitemlength = Tuint32_t(0)
 21194  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) = *(*uintptr)(unsafe.Pointer(pptrptr))
 21195  
 21196  	// A large and/or complex regex can take too long to process. This can happen
 21197  	// more often when (?| groups are present in the pattern because their length
 21198  	// cannot be cached.
 21199  
 21200  	if !(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(lcptr)), 1) > 2000) {
 21201  		goto __1
 21202  	}
 21203  
 21204  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR35 // Lookbehind is too complicated
 21205  	return -1
 21206  __1:
 21207  	;
 21208  
 21209  	// Scan the branch, accumulating the length.
 21210  
 21211  __2:
 21212  	;
 21213  	group = Tuint32_t(0)
 21214  	itemlength = Tuint32_t(0)
 21215  
 21216  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) < DMETA_END) {
 21217  		goto __5
 21218  	}
 21219  
 21220  	itemlength = Tuint32_t(1)
 21221  	goto __6
 21222  __5:
 21223  	switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0xffff0000 {
 21224  	case DMETA_KET:
 21225  		goto __8
 21226  	case DMETA_ALT:
 21227  		goto __9
 21228  
 21229  	// (*ACCEPT) and (*FAIL) terminate the branch, but we must skip to the
 21230  	//     actual termination.
 21231  
 21232  	case DMETA_ACCEPT:
 21233  		goto __10
 21234  	case DMETA_FAIL:
 21235  		goto __11
 21236  
 21237  	case DMETA_MARK:
 21238  		goto __12
 21239  	case DMETA_COMMIT_ARG:
 21240  		goto __13
 21241  	case DMETA_PRUNE_ARG:
 21242  		goto __14
 21243  	case DMETA_SKIP_ARG:
 21244  		goto __15
 21245  	case DMETA_THEN_ARG:
 21246  		goto __16
 21247  
 21248  	case DMETA_CIRCUMFLEX:
 21249  		goto __17
 21250  	case DMETA_COMMIT:
 21251  		goto __18
 21252  	case DMETA_DOLLAR:
 21253  		goto __19
 21254  	case DMETA_PRUNE:
 21255  		goto __20
 21256  	case DMETA_SKIP:
 21257  		goto __21
 21258  	case DMETA_THEN:
 21259  		goto __22
 21260  
 21261  	case DMETA_OPTIONS:
 21262  		goto __23
 21263  
 21264  	case DMETA_BIGVALUE:
 21265  		goto __24
 21266  
 21267  	case DMETA_CLASS:
 21268  		goto __25
 21269  	case DMETA_CLASS_NOT:
 21270  		goto __26
 21271  
 21272  	case DMETA_CLASS_EMPTY_NOT:
 21273  		goto __27
 21274  	case DMETA_DOT:
 21275  		goto __28
 21276  
 21277  	case DMETA_CALLOUT_NUMBER:
 21278  		goto __29
 21279  
 21280  	case DMETA_CALLOUT_STRING:
 21281  		goto __30
 21282  
 21283  	// Only some escapes consume a character. Of those, \R and \X are never
 21284  	//     allowed because they might match more than character. \C is allowed only in
 21285  	//     32-bit and non-UTF 8/16-bit modes.
 21286  
 21287  	case DMETA_ESCAPE:
 21288  		goto __31
 21289  
 21290  	// Lookaheads do not contribute to the length of this branch, but they may
 21291  	//     contain lookbehinds within them whose lengths need to be set.
 21292  
 21293  	case DMETA_LOOKAHEAD:
 21294  		goto __32
 21295  	case DMETA_LOOKAHEADNOT:
 21296  		goto __33
 21297  	case DMETA_LOOKAHEAD_NA:
 21298  		goto __34
 21299  
 21300  	// A nested lookbehind does not contribute any length to this lookbehind,
 21301  	//     but must itself be checked and have its lengths set.
 21302  
 21303  	case DMETA_LOOKBEHIND:
 21304  		goto __35
 21305  	case DMETA_LOOKBEHINDNOT:
 21306  		goto __36
 21307  	case DMETA_LOOKBEHIND_NA:
 21308  		goto __37
 21309  
 21310  	// Back references and recursions are handled by very similar code. At this
 21311  	//     stage, the names generated in the parsing pass are available, but the main
 21312  	//     name table has not yet been created. So for the named varieties, scan the
 21313  	//     list of names in order to get the number of the first one in the pattern,
 21314  	//     and whether or not this name is duplicated.
 21315  
 21316  	case DMETA_BACKREF_BYNAME:
 21317  		goto __38
 21318  	// Fall through
 21319  
 21320  	case DMETA_RECURSE_BYNAME:
 21321  		goto __39 // Duplicate name or number
 21322  
 21323  	// The offset values for back references < 10 are in a separate vector
 21324  	//     because otherwise they would use more than two parsed pattern elements on
 21325  	//     64-bit systems.
 21326  
 21327  	case DMETA_BACKREF:
 21328  		goto __40
 21329  
 21330  	// Fall through
 21331  	// For groups >= 10 - picking up group twice does no harm.
 21332  
 21333  	// A true recursion implies not fixed length, but a subroutine call may
 21334  	//     be OK. Back reference "recursions" are also failed.
 21335  
 21336  	case DMETA_RECURSE:
 21337  		goto __41
 21338  
 21339  	// A (DEFINE) group is never obeyed inline and so it does not contribute to
 21340  	//     the length of this branch. Skip from the following item to the next
 21341  	//     unpaired ket.
 21342  
 21343  	case DMETA_COND_DEFINE:
 21344  		goto __42
 21345  
 21346  	// Check other nested groups - advance past the initial data for each type
 21347  	//     and then seek a fixed length with get_grouplength().
 21348  
 21349  	case DMETA_COND_NAME:
 21350  		goto __43
 21351  	case DMETA_COND_NUMBER:
 21352  		goto __44
 21353  	case DMETA_COND_RNAME:
 21354  		goto __45
 21355  	case DMETA_COND_RNUMBER:
 21356  		goto __46
 21357  
 21358  	case DMETA_COND_ASSERT:
 21359  		goto __47
 21360  
 21361  	case DMETA_COND_VERSION:
 21362  		goto __48
 21363  
 21364  	case DMETA_CAPTURE:
 21365  		goto __49
 21366  	// Fall through
 21367  
 21368  	case DMETA_ATOMIC:
 21369  		goto __50
 21370  	case DMETA_NOCAPTURE:
 21371  		goto __51
 21372  	case DMETA_SCRIPT_RUN:
 21373  		goto __52
 21374  
 21375  	// Exact repetition is OK; variable repetition is not. A repetition of zero
 21376  	//     must subtract the length that has already been added.
 21377  
 21378  	case DMETA_MINMAX:
 21379  		goto __53
 21380  	case DMETA_MINMAX_PLUS:
 21381  		goto __54
 21382  	case DMETA_MINMAX_QUERY:
 21383  		goto __55
 21384  	// Fall through
 21385  
 21386  	// Any other item means this branch does not have a fixed length.
 21387  
 21388  	default:
 21389  		goto __56
 21390  	}
 21391  	goto __7
 21392  
 21393  __8:
 21394  __9:
 21395  	goto EXIT
 21396  
 21397  	// (*ACCEPT) and (*FAIL) terminate the branch, but we must skip to the
 21398  	//     actual termination.
 21399  
 21400  __10:
 21401  __11:
 21402  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp /* pptr */)), PSKIP_ALT)
 21403  	if !(*(*uintptr)(unsafe.Pointer(bp)) == uintptr(0)) {
 21404  		goto __57
 21405  	}
 21406  	goto PARSED_SKIP_FAILED
 21407  __57:
 21408  	;
 21409  	goto EXIT
 21410  
 21411  __12:
 21412  __13:
 21413  __14:
 21414  __15:
 21415  __16:
 21416  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4))+Tuint32_t(1))
 21417  	goto __7
 21418  
 21419  __17:
 21420  __18:
 21421  __19:
 21422  __20:
 21423  __21:
 21424  __22:
 21425  	goto __7
 21426  
 21427  __23:
 21428  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 21429  	goto __7
 21430  
 21431  __24:
 21432  	itemlength = Tuint32_t(1)
 21433  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 21434  	goto __7
 21435  
 21436  __25:
 21437  __26:
 21438  	itemlength = Tuint32_t(1)
 21439  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp /* pptr */)), PSKIP_CLASS)
 21440  	if !(*(*uintptr)(unsafe.Pointer(bp)) == uintptr(0)) {
 21441  		goto __58
 21442  	}
 21443  	goto PARSED_SKIP_FAILED
 21444  __58:
 21445  	;
 21446  	goto __7
 21447  
 21448  __27:
 21449  __28:
 21450  	itemlength = Tuint32_t(1)
 21451  	goto __7
 21452  
 21453  __29:
 21454  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3)
 21455  	goto __7
 21456  
 21457  __30:
 21458  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3+DSIZEOFFSET)
 21459  	goto __7
 21460  
 21461  	// Only some escapes consume a character. Of those, \R and \X are never
 21462  	//     allowed because they might match more than character. \C is allowed only in
 21463  	//     32-bit and non-UTF 8/16-bit modes.
 21464  
 21465  __31:
 21466  	escape = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff
 21467  	if !(escape == ESC_R || escape == ESC_X) {
 21468  		goto __59
 21469  	}
 21470  	return -1
 21471  __59:
 21472  	;
 21473  	if !(escape > ESC_b && escape < ESC_Z) {
 21474  		goto __60
 21475  	}
 21476  
 21477  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_UTF != Tuint32_t(0) && escape == ESC_C) {
 21478  		goto __61
 21479  	}
 21480  
 21481  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR36
 21482  	return -1
 21483  __61:
 21484  	;
 21485  	itemlength = Tuint32_t(1)
 21486  	if !(escape == ESC_p || escape == ESC_P) {
 21487  		goto __62
 21488  	}
 21489  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4
 21490  __62:
 21491  	; // Skip prop data
 21492  __60:
 21493  	;
 21494  	goto __7
 21495  
 21496  	// Lookaheads do not contribute to the length of this branch, but they may
 21497  	//     contain lookbehinds within them whose lengths need to be set.
 21498  
 21499  __32:
 21500  __33:
 21501  __34:
 21502  	*(*int32)(unsafe.Pointer(errcodeptr)) = check_lookbehinds(tls, *(*uintptr)(unsafe.Pointer(bp))+uintptr(1)*4, bp, recurses, cb, lcptr)
 21503  	if !(*(*int32)(unsafe.Pointer(errcodeptr)) != 0) {
 21504  		goto __63
 21505  	}
 21506  	return -1
 21507  __63:
 21508  	;
 21509  
 21510  	// Ignore any qualifiers that follow a lookahead assertion.
 21511  
 21512  	switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pptr */)) + 1*4)) {
 21513  	case DMETA_ASTERISK:
 21514  		goto __65
 21515  	case DMETA_ASTERISK_PLUS:
 21516  		goto __66
 21517  	case DMETA_ASTERISK_QUERY:
 21518  		goto __67
 21519  	case DMETA_PLUS:
 21520  		goto __68
 21521  	case DMETA_PLUS_PLUS:
 21522  		goto __69
 21523  	case DMETA_PLUS_QUERY:
 21524  		goto __70
 21525  	case DMETA_QUERY:
 21526  		goto __71
 21527  	case DMETA_QUERY_PLUS:
 21528  		goto __72
 21529  	case DMETA_QUERY_QUERY:
 21530  		goto __73
 21531  
 21532  	case DMETA_MINMAX:
 21533  		goto __74
 21534  	case DMETA_MINMAX_PLUS:
 21535  		goto __75
 21536  	case DMETA_MINMAX_QUERY:
 21537  		goto __76
 21538  
 21539  	default:
 21540  		goto __77
 21541  	}
 21542  	goto __64
 21543  
 21544  __65:
 21545  __66:
 21546  __67:
 21547  __68:
 21548  __69:
 21549  __70:
 21550  __71:
 21551  __72:
 21552  __73:
 21553  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4
 21554  	goto __64
 21555  
 21556  __74:
 21557  __75:
 21558  __76:
 21559  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3)
 21560  	goto __64
 21561  
 21562  __77:
 21563  	goto __64
 21564  __64:
 21565  	;
 21566  	goto __7
 21567  
 21568  	// A nested lookbehind does not contribute any length to this lookbehind,
 21569  	//     but must itself be checked and have its lengths set.
 21570  
 21571  __35:
 21572  __36:
 21573  __37:
 21574  	if !!(set_lookbehind_lengths(tls, bp, errcodeptr, lcptr, recurses, cb) != 0) {
 21575  		goto __78
 21576  	}
 21577  	return -1
 21578  __78:
 21579  	;
 21580  	goto __7
 21581  
 21582  	// Back references and recursions are handled by very similar code. At this
 21583  	//     stage, the names generated in the parsing pass are available, but the main
 21584  	//     name table has not yet been created. So for the named varieties, scan the
 21585  	//     list of names in order to get the number of the first one in the pattern,
 21586  	//     and whether or not this name is duplicated.
 21587  
 21588  __38:
 21589  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0)) {
 21590  		goto __79
 21591  	}
 21592  	goto ISNOTFIXED
 21593  __79:
 21594  	;
 21595  	// Fall through
 21596  
 21597  __39:
 21598  
 21599  	is_dupname = DFALSE
 21600  	ng = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fnamed_groups
 21601  	meta_code = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0xffff0000
 21602  	length = *(*Tuint32_t)(unsafe.Pointer(libc.PreIncUintptr(&*(*uintptr)(unsafe.Pointer(bp)), 4)))
 21603  
 21604  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 2*4)))
 21605  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2)
 21606  
 21607  	name = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fstart_pattern + uintptr(offset)
 21608  	i = 0
 21609  __80:
 21610  	if !(i < int32((*Tcompile_block_8)(unsafe.Pointer(cb)).Fnames_found)) {
 21611  		goto __82
 21612  	}
 21613  
 21614  	if !(length == Tuint32_t((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength) && X_pcre2_strncmp_8(tls, name, (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, uint64(length)) == 0) {
 21615  		goto __83
 21616  	}
 21617  
 21618  	group = (*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber
 21619  	is_dupname = TBOOL((*Tnamed_group_8)(unsafe.Pointer(ng)).Fisdup)
 21620  	goto __82
 21621  __83:
 21622  	;
 21623  	goto __81
 21624  __81:
 21625  	i++
 21626  	ng += 16
 21627  	goto __80
 21628  	goto __82
 21629  __82:
 21630  	;
 21631  
 21632  	if !(group == Tuint32_t(0)) {
 21633  		goto __84
 21634  	}
 21635  
 21636  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR15 // Non-existent subpattern
 21637  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 21638  	return -1
 21639  __84:
 21640  	;
 21641  
 21642  	// A numerical back reference can be fixed length if duplicate capturing
 21643  	//       groups are not being used. A non-duplicate named back reference can also
 21644  	//       be handled.
 21645  
 21646  	if !(meta_code == DMETA_RECURSE_BYNAME || !(is_dupname != 0) && (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_flags&Tuint32_t(DPCRE2_DUPCAPUSED) == Tuint32_t(0)) {
 21647  		goto __85
 21648  	}
 21649  	goto RECURSE_OR_BACKREF_LENGTH
 21650  __85:
 21651  	; // Handle as a numbered version.
 21652  
 21653  	goto ISNOTFIXED // Duplicate name or number
 21654  
 21655  	// The offset values for back references < 10 are in a separate vector
 21656  	//     because otherwise they would use more than two parsed pattern elements on
 21657  	//     64-bit systems.
 21658  
 21659  __40:
 21660  	if !((*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_options&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0) || (*Tcompile_block_8)(unsafe.Pointer(cb)).Fexternal_flags&Tuint32_t(DPCRE2_DUPCAPUSED) != Tuint32_t(0)) {
 21661  		goto __86
 21662  	}
 21663  	goto ISNOTFIXED
 21664  __86:
 21665  	;
 21666  	group = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff
 21667  	if !(group < Tuint32_t(10)) {
 21668  		goto __87
 21669  	}
 21670  
 21671  	offset = *(*Tsize_t)(unsafe.Pointer(cb + 88 + uintptr(group)*8))
 21672  	goto RECURSE_OR_BACKREF_LENGTH
 21673  __87:
 21674  	;
 21675  
 21676  	// Fall through
 21677  	// For groups >= 10 - picking up group twice does no harm.
 21678  
 21679  	// A true recursion implies not fixed length, but a subroutine call may
 21680  	//     be OK. Back reference "recursions" are also failed.
 21681  
 21682  __41:
 21683  	group = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff
 21684  	offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 2*4)))
 21685  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2)
 21686  
 21687  RECURSE_OR_BACKREF_LENGTH:
 21688  	if !(group > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fbracount) {
 21689  		goto __88
 21690  	}
 21691  
 21692  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 21693  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR15 // Non-existent subpattern
 21694  	return -1
 21695  __88:
 21696  	;
 21697  	if !(group == Tuint32_t(0)) {
 21698  		goto __89
 21699  	}
 21700  	goto ISNOTFIXED
 21701  __89:
 21702  	; // Local recursion
 21703  	*(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */)) = (*Tcompile_block_8)(unsafe.Pointer(cb)).Fparsed_pattern
 21704  __90:
 21705  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))) != DMETA_END) {
 21706  		goto __92
 21707  	}
 21708  
 21709  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8))))&0xffff0000 == DMETA_BIGVALUE) {
 21710  		goto __93
 21711  	}
 21712  	*(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */)) += 4
 21713  	goto __94
 21714  __93:
 21715  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))) == DMETA_CAPTURE|group) {
 21716  		goto __95
 21717  	}
 21718  	goto __92
 21719  __95:
 21720  	;
 21721  __94:
 21722  	;
 21723  	goto __91
 21724  __91:
 21725  	*(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */)) += 4
 21726  	goto __90
 21727  	goto __92
 21728  __92:
 21729  	;
 21730  
 21731  	// We must start the search for the end of the group at the first meta code
 21732  	//     inside the group. Otherwise it will be treated as an enclosed group.
 21733  
 21734  	gptrend = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp + 8))+uintptr(1)*4, PSKIP_KET)
 21735  	if !(gptrend == uintptr(0)) {
 21736  		goto __96
 21737  	}
 21738  	goto PARSED_SKIP_FAILED
 21739  __96:
 21740  	;
 21741  	if !(*(*uintptr)(unsafe.Pointer(bp)) > *(*uintptr)(unsafe.Pointer(bp + 8)) && *(*uintptr)(unsafe.Pointer(bp)) < gptrend) {
 21742  		goto __97
 21743  	}
 21744  	goto ISNOTFIXED
 21745  __97:
 21746  	; // Local recursion
 21747  	r = recurses
 21748  __98:
 21749  	if !(r != uintptr(0)) {
 21750  		goto __100
 21751  	}
 21752  	if !((*Tparsed_recurse_check)(unsafe.Pointer(r)).Fgroupptr == *(*uintptr)(unsafe.Pointer(bp + 8))) {
 21753  		goto __101
 21754  	}
 21755  	goto __100
 21756  __101:
 21757  	;
 21758  	goto __99
 21759  __99:
 21760  	r = (*Tparsed_recurse_check)(unsafe.Pointer(r)).Fprev
 21761  	goto __98
 21762  	goto __100
 21763  __100:
 21764  	;
 21765  	if !(r != uintptr(0)) {
 21766  		goto __102
 21767  	}
 21768  	goto ISNOTFIXED
 21769  __102:
 21770  	; // Mutual recursion
 21771  	(*Tparsed_recurse_check)(unsafe.Pointer(bp + 16 /* &this_recurse */)).Fprev = recurses
 21772  	(*Tparsed_recurse_check)(unsafe.Pointer(bp + 16 /* &this_recurse */)).Fgroupptr = *(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */))
 21773  
 21774  	// We do not need to know the position of the end of the group, that is,
 21775  	//     gptr is not used after the call to get_grouplength(). Setting the second
 21776  	//     argument FALSE stops it scanning for the end when the length can be found
 21777  	//     in the cache.
 21778  
 21779  	*(*uintptr)(unsafe.Pointer(bp + 8 /* gptr */)) += 4
 21780  	grouplength = get_grouplength(tls, bp+8, DFALSE, errcodeptr, lcptr, int32(group),
 21781  		bp+16, cb)
 21782  	if !(grouplength < 0) {
 21783  		goto __103
 21784  	}
 21785  
 21786  	if !(*(*int32)(unsafe.Pointer(errcodeptr)) == 0) {
 21787  		goto __104
 21788  	}
 21789  	goto ISNOTFIXED
 21790  __104:
 21791  	;
 21792  	return -1 // Error already set
 21793  __103:
 21794  	;
 21795  	itemlength = Tuint32_t(grouplength)
 21796  	goto __7
 21797  
 21798  	// A (DEFINE) group is never obeyed inline and so it does not contribute to
 21799  	//     the length of this branch. Skip from the following item to the next
 21800  	//     unpaired ket.
 21801  
 21802  __42:
 21803  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) = parsed_skip(tls, *(*uintptr)(unsafe.Pointer(bp))+uintptr(1)*4, PSKIP_KET)
 21804  	goto __7
 21805  
 21806  	// Check other nested groups - advance past the initial data for each type
 21807  	//     and then seek a fixed length with get_grouplength().
 21808  
 21809  __43:
 21810  __44:
 21811  __45:
 21812  __46:
 21813  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2+DSIZEOFFSET)
 21814  	goto CHECK_GROUP
 21815  
 21816  __47:
 21817  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 21818  	goto CHECK_GROUP
 21819  
 21820  __48:
 21821  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(4)
 21822  	goto CHECK_GROUP
 21823  
 21824  __49:
 21825  	group = *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0x0000ffff
 21826  	// Fall through
 21827  
 21828  __50:
 21829  __51:
 21830  __52:
 21831  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4
 21832  CHECK_GROUP:
 21833  	grouplength = get_grouplength(tls, bp, DTRUE, errcodeptr, lcptr, int32(group),
 21834  		recurses, cb)
 21835  	if !(grouplength < 0) {
 21836  		goto __105
 21837  	}
 21838  	return -1
 21839  __105:
 21840  	;
 21841  	itemlength = Tuint32_t(grouplength)
 21842  	goto __7
 21843  
 21844  	// Exact repetition is OK; variable repetition is not. A repetition of zero
 21845  	//     must subtract the length that has already been added.
 21846  
 21847  __53:
 21848  __54:
 21849  __55:
 21850  	if !(*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)) == *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 2*4))) {
 21851  		goto __106
 21852  	}
 21853  
 21854  	switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pptr */)) + 1*4)) {
 21855  	case Tuint32_t(0):
 21856  		goto __108
 21857  
 21858  	case Tuint32_t(1):
 21859  		goto __109
 21860  
 21861  	default:
 21862  		goto __110
 21863  	}
 21864  	goto __107
 21865  
 21866  __108:
 21867  	branchlength = int32(Tuint32_t(branchlength) - lastitemlength)
 21868  	goto __107
 21869  
 21870  __109:
 21871  	itemlength = Tuint32_t(0)
 21872  	goto __107
 21873  
 21874  __110: // Check for integer overflow
 21875  	if !(lastitemlength != Tuint32_t(0) && Tuint32_t(0x7fffffff)/lastitemlength < *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4))-Tuint32_t(1)) {
 21876  		goto __111
 21877  	}
 21878  
 21879  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR87 // Integer overflow; lookbehind too big
 21880  	return -1
 21881  __111:
 21882  	;
 21883  	itemlength = (*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)) - Tuint32_t(1)) * lastitemlength
 21884  	goto __107
 21885  __107:
 21886  	;
 21887  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2)
 21888  	goto __7
 21889  __106:
 21890  	;
 21891  	// Fall through
 21892  
 21893  	// Any other item means this branch does not have a fixed length.
 21894  
 21895  __56:
 21896  ISNOTFIXED:
 21897  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR25 // Not fixed length
 21898  	return -1
 21899  __7:
 21900  	;
 21901  __6:
 21902  	;
 21903  
 21904  	// Add the item length to the branchlength, checking for integer overflow and
 21905  	//   for the branch length exceeding the limit.
 21906  
 21907  	if !(0x7fffffff-branchlength < int32(itemlength) || libc.AssignAddInt32(&branchlength, int32(itemlength)) > 65535) {
 21908  		goto __112
 21909  	}
 21910  
 21911  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR87
 21912  	return -1
 21913  __112:
 21914  	;
 21915  
 21916  	// Save this item length for use if the next item is a quantifier.
 21917  
 21918  	lastitemlength = itemlength
 21919  	goto __3
 21920  __3:
 21921  	*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4
 21922  	goto __2
 21923  	goto __4
 21924  __4:
 21925  	;
 21926  
 21927  EXIT:
 21928  	*(*uintptr)(unsafe.Pointer(pptrptr)) = *(*uintptr)(unsafe.Pointer(bp /* pptr */))
 21929  	return branchlength
 21930  
 21931  PARSED_SKIP_FAILED:
 21932  	*(*int32)(unsafe.Pointer(errcodeptr)) = ERR90
 21933  	return -1
 21934  }
 21935  
 21936  // ************************************************
 21937  //
 21938  //        Set lengths in a lookbehind             *
 21939  //
 21940  
 21941  // This function is called for each lookbehind, to set the lengths in its
 21942  // branches. An error occurs if any branch does not have a fixed length that is
 21943  // less than the maximum (65535). On exit, the pointer must be left on the final
 21944  // ket.
 21945  //
 21946  // The function also maintains the max_lookbehind value. Any lookbehind branch
 21947  // that contains a nested lookbehind may actually look further back than the
 21948  // length of the branch. The additional amount is passed back from
 21949  // get_branchlength() as an "extra" value.
 21950  //
 21951  // Arguments:
 21952  //   pptrptr     pointer to pointer in the parsed pattern
 21953  //   errcodeptr  pointer to error code
 21954  //   lcptr       pointer to loop counter
 21955  //   recurses    chain of recurse_check to catch mutual recursion
 21956  //   cb          pointer to compile block
 21957  //
 21958  // Returns:      TRUE if all is well
 21959  //               FALSE otherwise, with error code and offset set
 21960  
 21961  func set_lookbehind_lengths(tls *libc.TLS, pptrptr uintptr, errcodeptr uintptr, lcptr uintptr, recurses uintptr, cb uintptr) TBOOL { /* pcre2_compile.c:9545:1: */
 21962  	var offset Tsize_t
 21963  	var branchlength int32
 21964  	var bptr uintptr = *(*uintptr)(unsafe.Pointer(pptrptr))
 21965  
 21966  	{
 21967  		offset = Tsize_t(*(*Tuint32_t)(unsafe.Pointer(bptr + 1*4)))<<32 | Tsize_t(*(*Tuint32_t)(unsafe.Pointer(bptr + 2*4)))
 21968  	}
 21969  	// Offset for error messages
 21970  	*(*uintptr)(unsafe.Pointer(pptrptr)) += uintptr(DSIZEOFFSET) * 4
 21971  
 21972  	for __ccgo := true; __ccgo; __ccgo = *(*Tuint32_t)(unsafe.Pointer(bptr)) == DMETA_ALT {
 21973  		*(*uintptr)(unsafe.Pointer(pptrptr)) += uintptr(1) * 4
 21974  		branchlength = get_branchlength(tls, pptrptr, errcodeptr, lcptr, recurses, cb)
 21975  		if branchlength < 0 {
 21976  			// The errorcode and offset may already be set from a nested lookbehind.
 21977  			if *(*int32)(unsafe.Pointer(errcodeptr)) == 0 {
 21978  				*(*int32)(unsafe.Pointer(errcodeptr)) = ERR25
 21979  			}
 21980  			if (*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset == libc.CplUint64(uint64(0)) {
 21981  				(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = offset
 21982  			}
 21983  			return DFALSE
 21984  		}
 21985  		if branchlength > (*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind {
 21986  			(*Tcompile_block_8)(unsafe.Pointer(cb)).Fmax_lookbehind = branchlength
 21987  		}
 21988  		*(*Tuint32_t)(unsafe.Pointer(bptr)) |= Tuint32_t(branchlength) // branchlength never more than 65535
 21989  		bptr = *(*uintptr)(unsafe.Pointer(pptrptr))
 21990  	}
 21991  
 21992  	return DTRUE
 21993  }
 21994  
 21995  // ************************************************
 21996  //
 21997  //         Check parsed pattern lookbehinds       *
 21998  //
 21999  
 22000  // This function is called at the end of parsing a pattern if any lookbehinds
 22001  // were encountered. It scans the parsed pattern for them, calling
 22002  // set_lookbehind_lengths() for each one. At the start, the errorcode is zero and
 22003  // the error offset is marked unset. The enables the functions above not to
 22004  // override settings from deeper nestings.
 22005  //
 22006  // This function is called recursively from get_branchlength() for lookaheads in
 22007  // order to process any lookbehinds that they may contain. It stops when it hits a
 22008  // non-nested closing parenthesis in this case, returning a pointer to it.
 22009  //
 22010  // Arguments
 22011  //   pptr      points to where to start (start of pattern or start of lookahead)
 22012  //   retptr    if not NULL, return the ket pointer here
 22013  //   recurses  chain of recurse_check to catch mutual recursion
 22014  //   cb        points to the compile block
 22015  //   lcptr     points to loop counter
 22016  //
 22017  // Returns:    0 on success, or an errorcode (cb->erroroffset will be set)
 22018  
 22019  func check_lookbehinds(tls *libc.TLS, pptr uintptr, retptr uintptr, recurses uintptr, cb uintptr, lcptr uintptr) int32 { /* pcre2_compile.c:9602:1: */
 22020  	bp := tls.Alloc(12)
 22021  	defer tls.Free(12)
 22022  	*(*uintptr)(unsafe.Pointer(bp)) = pptr
 22023  
 22024  	*(*int32)(unsafe.Pointer(bp + 8 /* errorcode */)) = 0
 22025  	var nestlevel int32 = 0
 22026  
 22027  	(*Tcompile_block_8)(unsafe.Pointer(cb)).Ferroroffset = libc.CplUint64(uint64(0))
 22028  
 22029  	for ; *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) != DMETA_END; *(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 {
 22030  		if *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) < DMETA_END {
 22031  			continue
 22032  		} // Literal
 22033  
 22034  		switch *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) & 0xffff0000 {
 22035  		default:
 22036  			return ERR70 // Unrecognized meta code
 22037  
 22038  		case DMETA_ESCAPE:
 22039  			if *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))-DMETA_ESCAPE == ESC_P || *(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))-DMETA_ESCAPE == ESC_p {
 22040  				*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 22041  			}
 22042  			break
 22043  
 22044  		case DMETA_KET:
 22045  			if libc.PreDecInt32(&nestlevel, 1) < 0 {
 22046  				if retptr != uintptr(0) {
 22047  					*(*uintptr)(unsafe.Pointer(retptr)) = *(*uintptr)(unsafe.Pointer(bp /* pptr */))
 22048  				}
 22049  				return 0
 22050  			}
 22051  			break
 22052  
 22053  		case DMETA_ATOMIC:
 22054  			fallthrough
 22055  		case DMETA_CAPTURE:
 22056  			fallthrough
 22057  		case DMETA_COND_ASSERT:
 22058  			fallthrough
 22059  		case DMETA_LOOKAHEAD:
 22060  			fallthrough
 22061  		case DMETA_LOOKAHEADNOT:
 22062  			fallthrough
 22063  		case DMETA_LOOKAHEAD_NA:
 22064  			fallthrough
 22065  		case DMETA_NOCAPTURE:
 22066  			fallthrough
 22067  		case DMETA_SCRIPT_RUN:
 22068  			nestlevel++
 22069  			break
 22070  
 22071  		case DMETA_ACCEPT:
 22072  			fallthrough
 22073  		case DMETA_ALT:
 22074  			fallthrough
 22075  		case DMETA_ASTERISK:
 22076  			fallthrough
 22077  		case DMETA_ASTERISK_PLUS:
 22078  			fallthrough
 22079  		case DMETA_ASTERISK_QUERY:
 22080  			fallthrough
 22081  		case DMETA_BACKREF:
 22082  			fallthrough
 22083  		case DMETA_CIRCUMFLEX:
 22084  			fallthrough
 22085  		case DMETA_CLASS:
 22086  			fallthrough
 22087  		case DMETA_CLASS_EMPTY:
 22088  			fallthrough
 22089  		case DMETA_CLASS_EMPTY_NOT:
 22090  			fallthrough
 22091  		case DMETA_CLASS_END:
 22092  			fallthrough
 22093  		case DMETA_CLASS_NOT:
 22094  			fallthrough
 22095  		case DMETA_COMMIT:
 22096  			fallthrough
 22097  		case DMETA_DOLLAR:
 22098  			fallthrough
 22099  		case DMETA_DOT:
 22100  			fallthrough
 22101  		case DMETA_FAIL:
 22102  			fallthrough
 22103  		case DMETA_PLUS:
 22104  			fallthrough
 22105  		case DMETA_PLUS_PLUS:
 22106  			fallthrough
 22107  		case DMETA_PLUS_QUERY:
 22108  			fallthrough
 22109  		case DMETA_PRUNE:
 22110  			fallthrough
 22111  		case DMETA_QUERY:
 22112  			fallthrough
 22113  		case DMETA_QUERY_PLUS:
 22114  			fallthrough
 22115  		case DMETA_QUERY_QUERY:
 22116  			fallthrough
 22117  		case DMETA_RANGE_ESCAPED:
 22118  			fallthrough
 22119  		case DMETA_RANGE_LITERAL:
 22120  			fallthrough
 22121  		case DMETA_SKIP:
 22122  			fallthrough
 22123  		case DMETA_THEN:
 22124  			break
 22125  
 22126  		case DMETA_RECURSE:
 22127  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(DSIZEOFFSET)
 22128  			break
 22129  
 22130  		case DMETA_BACKREF_BYNAME:
 22131  			fallthrough
 22132  		case DMETA_RECURSE_BYNAME:
 22133  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1+DSIZEOFFSET)
 22134  			break
 22135  
 22136  		case DMETA_COND_DEFINE:
 22137  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(DSIZEOFFSET)
 22138  			nestlevel++
 22139  			break
 22140  
 22141  		case DMETA_COND_NAME:
 22142  			fallthrough
 22143  		case DMETA_COND_NUMBER:
 22144  			fallthrough
 22145  		case DMETA_COND_RNAME:
 22146  			fallthrough
 22147  		case DMETA_COND_RNUMBER:
 22148  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1+DSIZEOFFSET)
 22149  			nestlevel++
 22150  			break
 22151  
 22152  		case DMETA_COND_VERSION:
 22153  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3)
 22154  			nestlevel++
 22155  			break
 22156  
 22157  		case DMETA_CALLOUT_STRING:
 22158  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3+DSIZEOFFSET)
 22159  			break
 22160  
 22161  		case DMETA_BIGVALUE:
 22162  			fallthrough
 22163  		case DMETA_OPTIONS:
 22164  			fallthrough
 22165  		case DMETA_POSIX:
 22166  			fallthrough
 22167  		case DMETA_POSIX_NEG:
 22168  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(1)
 22169  			break
 22170  
 22171  		case DMETA_MINMAX:
 22172  			fallthrough
 22173  		case DMETA_MINMAX_QUERY:
 22174  			fallthrough
 22175  		case DMETA_MINMAX_PLUS:
 22176  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(2)
 22177  			break
 22178  
 22179  		case DMETA_CALLOUT_NUMBER:
 22180  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(3)
 22181  			break
 22182  
 22183  		case DMETA_MARK:
 22184  			fallthrough
 22185  		case DMETA_COMMIT_ARG:
 22186  			fallthrough
 22187  		case DMETA_PRUNE_ARG:
 22188  			fallthrough
 22189  		case DMETA_SKIP_ARG:
 22190  			fallthrough
 22191  		case DMETA_THEN_ARG:
 22192  			*(*uintptr)(unsafe.Pointer(bp /* pptr */)) += 4 * uintptr(Tuint32_t(1)+*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 1*4)))
 22193  			break
 22194  
 22195  		case DMETA_LOOKBEHIND:
 22196  			fallthrough
 22197  		case DMETA_LOOKBEHINDNOT:
 22198  			fallthrough
 22199  		case DMETA_LOOKBEHIND_NA:
 22200  			if !(set_lookbehind_lengths(tls, bp, bp+8, lcptr, recurses, cb) != 0) {
 22201  				return *(*int32)(unsafe.Pointer(bp + 8 /* errorcode */))
 22202  			}
 22203  			break
 22204  		}
 22205  	}
 22206  
 22207  	return 0
 22208  }
 22209  
 22210  // ************************************************
 22211  //
 22212  //     External function to compile a pattern     *
 22213  //
 22214  
 22215  // This function reads a regular expression in the form of a string and returns
 22216  // a pointer to a block of store holding a compiled version of the expression.
 22217  //
 22218  // Arguments:
 22219  //   pattern       the regular expression
 22220  //   patlen        the length of the pattern, or PCRE2_ZERO_TERMINATED
 22221  //   options       option bits
 22222  //   errorptr      pointer to errorcode
 22223  //   erroroffset   pointer to error offset
 22224  //   ccontext      points to a compile context or is NULL
 22225  //
 22226  // Returns:        pointer to compiled data block, or NULL on error,
 22227  //                 with errorcode and erroroffset set
 22228  
 22229  func Xpcre2_compile_8(tls *libc.TLS, pattern TPCRE2_SPTR8, patlen Tsize_t, options Tuint32_t, errorptr uintptr, erroroffset uintptr, ccontext uintptr) uintptr { /* pcre2_compile.c:9761:27: */
 22230  	bp := tls.Alloc(17928)
 22231  	defer tls.Free(17928)
 22232  
 22233  	var utf TBOOL // Set TRUE for UTF mode
 22234  	var ucp TBOOL // Set TRUE for UCP mode
 22235  	// var has_lookbehind TBOOL at bp+17744, 4
 22236  	// Set TRUE if a lookbehind is found
 22237  	var zero_terminated TBOOL
 22238  	_ = zero_terminated // Set TRUE for zero-terminated pattern
 22239  	var re uintptr      // What we will return
 22240  	// var cb Tcompile_block_8 at bp+17440, 304
 22241  	// "Static" compile-time data
 22242  	var tables uintptr // Char tables base pointer
 22243  
 22244  	// var code uintptr at bp+17752, 8
 22245  	// Current pointer in compiled code
 22246  	var codestart TPCRE2_SPTR8 // Start of compiled code
 22247  	var ptr TPCRE2_SPTR8       // Current pointer in pattern
 22248  	// var pptr uintptr at bp+17760, 8
 22249  	// Current pointer in parsed pattern
 22250  
 22251  	// var length Tsize_t at bp+17792, 8
 22252  	// Allow for final END opcode
 22253  	var usedlength Tsize_t         // Actual length used
 22254  	var re_blocksize Tsize_t       // Size of memory block
 22255  	var big32count Tsize_t         // 32-bit literals >= 0x80000000
 22256  	var parsed_size_needed Tsize_t // Needed for parsed pattern
 22257  
 22258  	// var firstcuflags Tuint32_t at bp+17776, 4
 22259  
 22260  	// var reqcuflags Tuint32_t at bp+17784, 4
 22261  	// Type of first/req code unit
 22262  	// var firstcu Tuint32_t at bp+17772, 4
 22263  
 22264  	// var reqcu Tuint32_t at bp+17780, 4
 22265  	// Value of first/req code unit
 22266  	var setflags Tuint32_t // NL and BSR set flags
 22267  
 22268  	var skipatstart Tuint32_t // When checking (*UTF) etc
 22269  	var limit_heap Tuint32_t
 22270  	var limit_match Tuint32_t // Unset match limits
 22271  	var limit_depth Tuint32_t
 22272  	var newline int32 // Unset; can be set by the pattern
 22273  	var bsr int32     // Unset; can be set by the pattern
 22274  	// var errorcode int32 at bp+17768, 4
 22275  	// Initialize to avoid compiler warn
 22276  	var regexrc int32 // Return from compile
 22277  
 22278  	var i Tuint32_t // Local loop counter
 22279  
 22280  	// Comments at the head of this file explain about these variables.
 22281  
 22282  	// var stack_groupinfo [256]Tuint32_t at bp+12000, 1024
 22283  
 22284  	// var stack_parsed_pattern [1024]Tuint32_t at bp+13344, 4096
 22285  
 22286  	// var named_groups [20]Tnamed_group_8 at bp+13024, 320
 22287  
 22288  	// The workspace is used in different ways in the different compiling phases.
 22289  	// It needs to be 16-bit aligned for the preliminary parsing scan.
 22290  
 22291  	// var c16workspace [3000]Tuint32_t at bp, 12000
 22292  
 22293  	var cworkspace uintptr
 22294  	var c Tuint32_t
 22295  	var pp Tuint32_t
 22296  	var p uintptr
 22297  	var heap_parsed_pattern uintptr
 22298  	// var loopcount int32 at bp+17748, 4
 22299  
 22300  	var ng uintptr
 22301  	var search_from TPCRE2_SPTR8
 22302  	var p1 int32
 22303  	var groupnumber int32
 22304  	var rcode uintptr
 22305  	var rgroup TPCRE2_SPTR8
 22306  	var ccount uint32
 22307  	var start int32
 22308  	// var rc [8]Trecurse_cache at bp+17800, 128
 22309  
 22310  	var temp uintptr
 22311  	var minminlength int32
 22312  	*(*TBOOL)(unsafe.Pointer(bp + 17744 /* has_lookbehind */)) = DFALSE
 22313  	re = uintptr(0)
 22314  	*(*Tsize_t)(unsafe.Pointer(bp + 17792 /* length */)) = uint64(1)
 22315  	big32count = uint64(0)
 22316  	setflags = Tuint32_t(0)
 22317  	limit_heap = 4294967295
 22318  	limit_match = 4294967295
 22319  	limit_depth = 4294967295
 22320  	newline = 0
 22321  	bsr = 0
 22322  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = 0
 22323  	cworkspace = bp /* c16workspace */
 22324  
 22325  	// -------------- Check arguments and set up the pattern -----------------
 22326  
 22327  	// There must be error code and offset pointers.
 22328  
 22329  	if !(errorptr == uintptr(0) || erroroffset == uintptr(0)) {
 22330  		goto __1
 22331  	}
 22332  	return uintptr(0)
 22333  __1:
 22334  	;
 22335  	*(*int32)(unsafe.Pointer(errorptr)) = ERR0
 22336  	*(*Tsize_t)(unsafe.Pointer(erroroffset)) = uint64(0)
 22337  
 22338  	// There must be a pattern!
 22339  
 22340  	if !(pattern == uintptr(0)) {
 22341  		goto __2
 22342  	}
 22343  
 22344  	*(*int32)(unsafe.Pointer(errorptr)) = ERR16
 22345  	return uintptr(0)
 22346  __2:
 22347  	;
 22348  
 22349  	// A NULL compile context means "use a default context"
 22350  
 22351  	if !(ccontext == uintptr(0)) {
 22352  		goto __3
 22353  	}
 22354  	ccontext = uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8))
 22355  __3:
 22356  	;
 22357  
 22358  	// PCRE2_MATCH_INVALID_UTF implies UTF
 22359  
 22360  	if !(options&DPCRE2_MATCH_INVALID_UTF != Tuint32_t(0)) {
 22361  		goto __4
 22362  	}
 22363  	options = options | DPCRE2_UTF
 22364  __4:
 22365  	;
 22366  
 22367  	// Check that all undefined public option bits are zero.
 22368  
 22369  	if !(options&libc.CplUint32(DPCRE2_ANCHORED|DPCRE2_AUTO_CALLOUT|DPCRE2_CASELESS|DPCRE2_ENDANCHORED|DPCRE2_FIRSTLINE|DPCRE2_LITERAL|DPCRE2_MATCH_INVALID_UTF|DPCRE2_NO_START_OPTIMIZE|DPCRE2_NO_UTF_CHECK|DPCRE2_USE_OFFSET_LIMIT|DPCRE2_UTF|DPCRE2_ALLOW_EMPTY_CLASS|DPCRE2_ALT_BSUX|DPCRE2_ALT_CIRCUMFLEX|DPCRE2_ALT_VERBNAMES|DPCRE2_DOLLAR_ENDONLY|DPCRE2_DOTALL|DPCRE2_DUPNAMES|DPCRE2_EXTENDED|DPCRE2_EXTENDED_MORE|DPCRE2_MATCH_UNSET_BACKREF|DPCRE2_MULTILINE|DPCRE2_NEVER_BACKSLASH_C|DPCRE2_NEVER_UCP|DPCRE2_NEVER_UTF|DPCRE2_NO_AUTO_CAPTURE|DPCRE2_NO_AUTO_POSSESS|DPCRE2_NO_DOTSTAR_ANCHOR|DPCRE2_UCP|DPCRE2_UNGREEDY) != Tuint32_t(0) || (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options&libc.CplUint32(DPCRE2_EXTRA_MATCH_LINE|DPCRE2_EXTRA_MATCH_WORD|DPCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES|DPCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL|DPCRE2_EXTRA_ESCAPED_CR_IS_LF|DPCRE2_EXTRA_ALT_BSUX|DPCRE2_EXTRA_ALLOW_LOOKAROUND_BSK) != Tuint32_t(0)) {
 22370  		goto __5
 22371  	}
 22372  
 22373  	*(*int32)(unsafe.Pointer(errorptr)) = ERR17
 22374  	return uintptr(0)
 22375  __5:
 22376  	;
 22377  
 22378  	if !(options&DPCRE2_LITERAL != Tuint32_t(0) && (options&libc.CplUint32(DPCRE2_ANCHORED|DPCRE2_AUTO_CALLOUT|DPCRE2_CASELESS|DPCRE2_ENDANCHORED|DPCRE2_FIRSTLINE|DPCRE2_LITERAL|DPCRE2_MATCH_INVALID_UTF|DPCRE2_NO_START_OPTIMIZE|DPCRE2_NO_UTF_CHECK|DPCRE2_USE_OFFSET_LIMIT|DPCRE2_UTF) != Tuint32_t(0) || (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options&libc.CplUint32(DPCRE2_EXTRA_MATCH_LINE|DPCRE2_EXTRA_MATCH_WORD) != Tuint32_t(0))) {
 22379  		goto __6
 22380  	}
 22381  
 22382  	*(*int32)(unsafe.Pointer(errorptr)) = ERR92
 22383  	return uintptr(0)
 22384  __6:
 22385  	;
 22386  
 22387  	// A zero-terminated pattern is indicated by the special length value
 22388  	// PCRE2_ZERO_TERMINATED. Check for an overlong pattern.
 22389  
 22390  	if !(libc.AssignInt32(&zero_terminated, libc.Bool32(patlen == libc.CplUint64(uint64(0)))) != 0) {
 22391  		goto __7
 22392  	}
 22393  	patlen = X_pcre2_strlen_8(tls, pattern)
 22394  __7:
 22395  	;
 22396  
 22397  	if !(patlen > (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmax_pattern_length) {
 22398  		goto __8
 22399  	}
 22400  
 22401  	*(*int32)(unsafe.Pointer(errorptr)) = ERR88
 22402  	return uintptr(0)
 22403  __8:
 22404  	;
 22405  
 22406  	// From here on, all returns from this function should end up going via the
 22407  	// EXIT label.
 22408  
 22409  	// ------------ Initialize the "static" compile data --------------
 22410  
 22411  	if (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Ftables != uintptr(0) {
 22412  		tables = (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Ftables
 22413  	} else {
 22414  		tables = uintptr(unsafe.Pointer(&X_pcre2_default_tables_8))
 22415  	}
 22416  
 22417  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Flcc = tables + uintptr(Dlcc_offset)     // Individual
 22418  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ffcc = tables + uintptr(Dfcc_offset)     //   character
 22419  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fcbits = tables + uintptr(Dcbits_offset) //      tables
 22420  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fctypes = tables + uintptr(Dcbits_offset+Dcbit_length)
 22421  
 22422  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fassert_depth = Tuint16_t(0)
 22423  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fbracount = Tuint32_t(0)
 22424  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fcx = ccontext
 22425  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fdupnames = DFALSE
 22426  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fend_pattern = pattern + uintptr(patlen)
 22427  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ferroroffset = uint64(0)
 22428  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fexternal_flags = Tuint32_t(0)
 22429  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fexternal_options = options
 22430  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fgroupinfo = bp + 12000 /* &stack_groupinfo[0] */
 22431  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fhad_recurse = DFALSE
 22432  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Flastcapture = Tuint32_t(0)
 22433  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fmax_lookbehind = 0
 22434  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fname_entry_size = Tuint16_t(0)
 22435  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fname_table = uintptr(0)
 22436  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnamed_groups = bp + 13024 /* &named_groups[0] */
 22437  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnamed_group_list_size = Tuint32_t(DNAMED_GROUP_LIST_SIZE)
 22438  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnames_found = Tuint16_t(0)
 22439  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fopen_caps = uintptr(0)
 22440  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparens_depth = Tuint16_t(0)
 22441  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern = bp + 13344 /* &stack_parsed_pattern[0] */
 22442  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Freq_varyopt = Tuint32_t(0)
 22443  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fstart_code = cworkspace
 22444  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fstart_pattern = pattern
 22445  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fstart_workspace = cworkspace
 22446  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fworkspace_size = uint64(3000 * DLINK_SIZE)
 22447  
 22448  	// Maximum back reference and backref bitmap. The bitmap records up to 31 back
 22449  	// references to help in deciding whether (.*) can be treated as anchored or not.
 22450  
 22451  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ftop_backref = Tuint32_t(0)
 22452  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fbackref_map = Tuint32_t(0)
 22453  
 22454  	// Escape sequences \1 to \9 are always back references, but as they are only
 22455  	// two characters long, only two elements can be used in the parsed_pattern
 22456  	// vector. The first contains the reference, and we'd like to use the second to
 22457  	// record the offset in the pattern, so that forward references to non-existent
 22458  	// groups can be diagnosed later with an offset. However, on 64-bit systems,
 22459  	// PCRE2_SIZE won't fit. Instead, we have a vector of offsets for the first
 22460  	// occurrence of \1 to \9, indexed by the second parsed_pattern value. All other
 22461  	// references have enough space for the offset to be put into the parsed pattern.
 22462  
 22463  	i = Tuint32_t(0)
 22464  __9:
 22465  	if !(i < Tuint32_t(10)) {
 22466  		goto __11
 22467  	}
 22468  	*(*Tsize_t)(unsafe.Pointer(bp + 17440 + 88 + uintptr(i)*8)) = libc.CplUint64(uint64(0))
 22469  	goto __10
 22470  __10:
 22471  	i++
 22472  	goto __9
 22473  	goto __11
 22474  __11:
 22475  	;
 22476  
 22477  	// --------------- Start looking at the pattern ---------------
 22478  
 22479  	// Unless PCRE2_LITERAL is set, check for global one-time option settings at
 22480  	// the start of the pattern, and remember the offset to the actual regex. With
 22481  	// valgrind support, make the terminator of a zero-terminated pattern
 22482  	// inaccessible. This catches bugs that would otherwise only show up for
 22483  	// non-zero-terminated patterns.
 22484  
 22485  	ptr = pattern
 22486  	skipatstart = Tuint32_t(0)
 22487  
 22488  	if !(options&DPCRE2_LITERAL == Tuint32_t(0)) {
 22489  		goto __12
 22490  	}
 22491  
 22492  __13:
 22493  	if !(patlen-Tsize_t(skipatstart) >= uint64(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(skipatstart)))) == '\050' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(skipatstart+Tuint32_t(1))))) == '\052') {
 22494  		goto __14
 22495  	}
 22496  
 22497  	i = Tuint32_t(0)
 22498  __15:
 22499  	if !(uint64(i) < uint64(unsafe.Sizeof(pso_list))/uint64(unsafe.Sizeof(Tpso{}))) {
 22500  		goto __17
 22501  	}
 22502  
 22503  	p = uintptr(unsafe.Pointer(&pso_list)) + uintptr(i)*16
 22504  
 22505  	if !(patlen-Tsize_t(skipatstart)-uint64(2) >= Tsize_t((*Tpso)(unsafe.Pointer(p)).Flength) && X_pcre2_strncmp_c8_8(tls, ptr+uintptr(skipatstart)+uintptr(2), (*Tpso)(unsafe.Pointer(p)).Fname,
 22506  		uint64((*Tpso)(unsafe.Pointer(p)).Flength)) == 0) {
 22507  		goto __18
 22508  	}
 22509  
 22510  	skipatstart = skipatstart + Tuint32_t(int32((*Tpso)(unsafe.Pointer(p)).Flength)+2)
 22511  	switch int32((*Tpso)(unsafe.Pointer(p)).Ftype) {
 22512  	case PSO_OPT:
 22513  		goto __20
 22514  
 22515  	case PSO_FLG:
 22516  		goto __21
 22517  
 22518  	case PSO_NL:
 22519  		goto __22
 22520  
 22521  	case PSO_BSR:
 22522  		goto __23
 22523  
 22524  	case PSO_LIMM:
 22525  		goto __24
 22526  	case PSO_LIMD:
 22527  		goto __25
 22528  	case PSO_LIMH:
 22529  		goto __26
 22530  	}
 22531  	goto __19
 22532  
 22533  __20:
 22534  	*(*Tuint32_t)(unsafe.Pointer(bp + 17440 + 204)) |= (*Tpso)(unsafe.Pointer(p)).Fvalue
 22535  	goto __19
 22536  
 22537  __21:
 22538  	setflags = setflags | (*Tpso)(unsafe.Pointer(p)).Fvalue
 22539  	goto __19
 22540  
 22541  __22:
 22542  	newline = int32((*Tpso)(unsafe.Pointer(p)).Fvalue)
 22543  	setflags = setflags | Tuint32_t(DPCRE2_NL_SET)
 22544  	goto __19
 22545  
 22546  __23:
 22547  	bsr = int32((*Tpso)(unsafe.Pointer(p)).Fvalue)
 22548  	setflags = setflags | Tuint32_t(DPCRE2_BSR_SET)
 22549  	goto __19
 22550  
 22551  __24:
 22552  __25:
 22553  __26:
 22554  	c = Tuint32_t(0)
 22555  	pp = skipatstart
 22556  	if !!(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) <= '\071') {
 22557  		goto __27
 22558  	}
 22559  
 22560  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR60
 22561  	ptr += TPCRE2_SPTR8(pp)
 22562  	goto HAD_EARLY_ERROR
 22563  __27:
 22564  	;
 22565  __28:
 22566  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(pp)))) <= '\071') {
 22567  		goto __29
 22568  	}
 22569  
 22570  	if !(c > 4294967295/uint32(10)-uint32(1)) {
 22571  		goto __30
 22572  	}
 22573  	goto __29
 22574  __30:
 22575  	; // Integer overflow
 22576  	c = c*Tuint32_t(10) + Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(libc.PostIncUint32(&pp, 1)))))-'\060')
 22577  	goto __28
 22578  __29:
 22579  	;
 22580  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(libc.PostIncUint32(&pp, 1))))) != '\051') {
 22581  		goto __31
 22582  	}
 22583  
 22584  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR60
 22585  	ptr += TPCRE2_SPTR8(pp)
 22586  	goto HAD_EARLY_ERROR
 22587  __31:
 22588  	;
 22589  	if !(int32((*Tpso)(unsafe.Pointer(p)).Ftype) == PSO_LIMH) {
 22590  		goto __32
 22591  	}
 22592  	limit_heap = c
 22593  	goto __33
 22594  __32:
 22595  	if !(int32((*Tpso)(unsafe.Pointer(p)).Ftype) == PSO_LIMM) {
 22596  		goto __34
 22597  	}
 22598  	limit_match = c
 22599  	goto __35
 22600  __34:
 22601  	limit_depth = c
 22602  __35:
 22603  	;
 22604  __33:
 22605  	;
 22606  	skipatstart = skipatstart + (pp - skipatstart)
 22607  	goto __19
 22608  __19:
 22609  	;
 22610  	goto __17 // Out of the table scan loop
 22611  __18:
 22612  	;
 22613  	goto __16
 22614  __16:
 22615  	i++
 22616  	goto __15
 22617  	goto __17
 22618  __17:
 22619  	;
 22620  	if !(uint64(i) >= uint64(unsafe.Sizeof(pso_list))/uint64(unsafe.Sizeof(Tpso{}))) {
 22621  		goto __36
 22622  	}
 22623  	goto __14
 22624  __36:
 22625  	; // Out of pso loop
 22626  	goto __13
 22627  __14:
 22628  	;
 22629  __12:
 22630  	;
 22631  
 22632  	// End of pattern-start options; advance to start of real regex.
 22633  
 22634  	ptr += TPCRE2_SPTR8(skipatstart)
 22635  
 22636  	// Can't support UTF or UCP if PCRE2 was built without Unicode support.
 22637  
 22638  	// Check UTF. We have the original options in 'options', with that value as
 22639  	// modified by (*UTF) etc in cb->external_options. The extra option
 22640  	// PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES is not permitted in UTF-16 mode because the
 22641  	// surrogate code points cannot be represented in UTF-16.
 22642  
 22643  	utf = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fexternal_options&DPCRE2_UTF != Tuint32_t(0))
 22644  	if !(utf != 0) {
 22645  		goto __37
 22646  	}
 22647  
 22648  	if !(options&DPCRE2_NEVER_UTF != Tuint32_t(0)) {
 22649  		goto __38
 22650  	}
 22651  
 22652  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR74
 22653  	goto HAD_EARLY_ERROR
 22654  __38:
 22655  	;
 22656  	if !(options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0) && libc.AssignPtrInt32(bp+17768, X_pcre2_valid_utf_8(tls, pattern, patlen, erroroffset)) != 0) {
 22657  		goto __39
 22658  	}
 22659  	goto HAD_ERROR
 22660  __39:
 22661  	; // Offset was set by valid_utf()
 22662  
 22663  __37:
 22664  	;
 22665  
 22666  	// Check UCP lockout.
 22667  
 22668  	ucp = libc.Bool32((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fexternal_options&DPCRE2_UCP != Tuint32_t(0))
 22669  	if !(ucp != 0 && (*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fexternal_options&DPCRE2_NEVER_UCP != Tuint32_t(0)) {
 22670  		goto __40
 22671  	}
 22672  
 22673  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR75
 22674  	goto HAD_EARLY_ERROR
 22675  __40:
 22676  	;
 22677  
 22678  	// Process the BSR setting.
 22679  
 22680  	if !(bsr == 0) {
 22681  		goto __41
 22682  	}
 22683  	bsr = int32((*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fbsr_convention)
 22684  __41:
 22685  	;
 22686  
 22687  	// Process the newline setting.
 22688  
 22689  	if !(newline == 0) {
 22690  		goto __42
 22691  	}
 22692  	newline = int32((*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fnewline_convention)
 22693  __42:
 22694  	;
 22695  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnltype = Tuint32_t(DNLTYPE_FIXED)
 22696  	switch newline {
 22697  	case DPCRE2_NEWLINE_CR:
 22698  		goto __44
 22699  
 22700  	case DPCRE2_NEWLINE_LF:
 22701  		goto __45
 22702  
 22703  	case DPCRE2_NEWLINE_NUL:
 22704  		goto __46
 22705  
 22706  	case DPCRE2_NEWLINE_CRLF:
 22707  		goto __47
 22708  
 22709  	case DPCRE2_NEWLINE_ANY:
 22710  		goto __48
 22711  
 22712  	case DPCRE2_NEWLINE_ANYCRLF:
 22713  		goto __49
 22714  
 22715  	default:
 22716  		goto __50
 22717  	}
 22718  	goto __43
 22719  
 22720  __44:
 22721  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnllen = Tuint32_t(1)
 22722  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272)) = TPCRE2_UCHAR8('\015')
 22723  	goto __43
 22724  
 22725  __45:
 22726  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnllen = Tuint32_t(1)
 22727  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272)) = TPCRE2_UCHAR8('\012')
 22728  	goto __43
 22729  
 22730  __46:
 22731  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnllen = Tuint32_t(1)
 22732  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272)) = TPCRE2_UCHAR8(0)
 22733  	goto __43
 22734  
 22735  __47:
 22736  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnllen = Tuint32_t(2)
 22737  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272)) = TPCRE2_UCHAR8('\015')
 22738  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 17440 + 272 + 1)) = TPCRE2_UCHAR8('\012')
 22739  	goto __43
 22740  
 22741  __48:
 22742  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnltype = Tuint32_t(DNLTYPE_ANY)
 22743  	goto __43
 22744  
 22745  __49:
 22746  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnltype = Tuint32_t(DNLTYPE_ANYCRLF)
 22747  	goto __43
 22748  
 22749  __50:
 22750  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR56
 22751  	goto HAD_EARLY_ERROR
 22752  __43:
 22753  	;
 22754  
 22755  	// Pre-scan the pattern to do two things: (1) Discover the named groups and
 22756  	// their numerical equivalents, so that this information is always available for
 22757  	// the remaining processing. (2) At the same time, parse the pattern and put a
 22758  	// processed version into the parsed_pattern vector. This has escapes interpreted
 22759  	// and comments removed (amongst other things).
 22760  	//
 22761  	// In all but one case, when PCRE2_AUTO_CALLOUT is not set, the number of unsigned
 22762  	// 32-bit ints in the parsed pattern is bounded by the length of the pattern plus
 22763  	// one (for the terminator) plus four if PCRE2_EXTRA_WORD or PCRE2_EXTRA_LINE is
 22764  	// set. The exceptional case is when running in 32-bit, non-UTF mode, when literal
 22765  	// characters greater than META_END (0x80000000) have to be coded as two units. In
 22766  	// this case, therefore, we scan the pattern to check for such values.
 22767  
 22768  	// Ensure that the parsed pattern buffer is big enough. When PCRE2_AUTO_CALLOUT
 22769  	// is set we have to assume a numerical callout (4 elements) for each character
 22770  	// plus one at the end. This is overkill, but memory is plentiful these days. For
 22771  	// many smaller patterns the vector on the stack (which was set up above) can be
 22772  	// used.
 22773  
 22774  	parsed_size_needed = patlen - Tsize_t(skipatstart) + big32count
 22775  
 22776  	if !((*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options&(DPCRE2_EXTRA_MATCH_WORD|DPCRE2_EXTRA_MATCH_LINE) != Tuint32_t(0)) {
 22777  		goto __51
 22778  	}
 22779  	parsed_size_needed = parsed_size_needed + uint64(4)
 22780  __51:
 22781  	;
 22782  
 22783  	if !(options&DPCRE2_AUTO_CALLOUT != Tuint32_t(0)) {
 22784  		goto __52
 22785  	}
 22786  	parsed_size_needed = (parsed_size_needed + uint64(1)) * uint64(5)
 22787  __52:
 22788  	;
 22789  
 22790  	if !(parsed_size_needed >= uint64(DPARSED_PATTERN_DEFAULT_SIZE)) {
 22791  		goto __53
 22792  	}
 22793  
 22794  	heap_parsed_pattern = (*struct {
 22795  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 22796  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls,
 22797  		(parsed_size_needed+uint64(1))*Tsize_t(unsafe.Sizeof(Tuint32_t(0))), (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 22798  	if !(heap_parsed_pattern == uintptr(0)) {
 22799  		goto __54
 22800  	}
 22801  
 22802  	*(*int32)(unsafe.Pointer(errorptr)) = ERR21
 22803  	goto EXIT
 22804  __54:
 22805  	;
 22806  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern = heap_parsed_pattern
 22807  __53:
 22808  	;
 22809  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern_end = (*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fparsed_pattern + uintptr(parsed_size_needed)*4 + uintptr(1)*4
 22810  
 22811  	// Do the parsing scan.
 22812  
 22813  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = parse_regex(tls, ptr, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fexternal_options, bp+17744, bp+17440)
 22814  	if !(*(*int32)(unsafe.Pointer(bp + 17768)) != 0) {
 22815  		goto __55
 22816  	}
 22817  	goto HAD_CB_ERROR
 22818  __55:
 22819  	;
 22820  
 22821  	// Workspace is needed to remember information about numbered groups: whether a
 22822  	// group can match an empty string and what its fixed length is. This is done to
 22823  	// avoid the possibility of recursive references causing very long compile times
 22824  	// when checking these features. Unnumbered groups do not have this exposure since
 22825  	// they cannot be referenced. We use an indexed vector for this purpose. If there
 22826  	// are sufficiently few groups, the default vector on the stack, as set up above,
 22827  	// can be used. Otherwise we have to get/free a special vector. The vector must be
 22828  	// initialized to zero.
 22829  
 22830  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fbracount >= Tuint32_t(DGROUPINFO_DEFAULT_SIZE)) {
 22831  		goto __56
 22832  	}
 22833  
 22834  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fgroupinfo = (*struct {
 22835  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 22836  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls,
 22837  		uint64((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fbracount+Tuint32_t(1))*uint64(unsafe.Sizeof(Tuint32_t(0))), (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 22838  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fgroupinfo == uintptr(0)) {
 22839  		goto __57
 22840  	}
 22841  
 22842  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR21
 22843  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ferroroffset = uint64(0)
 22844  	goto HAD_CB_ERROR
 22845  __57:
 22846  	;
 22847  __56:
 22848  	;
 22849  	libc.Xmemset(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fgroupinfo, 0, uint64((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fbracount+Tuint32_t(1))*uint64(unsafe.Sizeof(Tuint32_t(0))))
 22850  
 22851  	// If there were any lookbehinds, scan the parsed pattern to figure out their
 22852  	// lengths.
 22853  
 22854  	if !(*(*TBOOL)(unsafe.Pointer(bp + 17744)) != 0) {
 22855  		goto __58
 22856  	}
 22857  
 22858  	*(*int32)(unsafe.Pointer(bp + 17748 /* loopcount */)) = 0
 22859  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = check_lookbehinds(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fparsed_pattern, uintptr(0), uintptr(0), bp+17440, bp+17748)
 22860  	if !(*(*int32)(unsafe.Pointer(bp + 17768)) != 0) {
 22861  		goto __59
 22862  	}
 22863  	goto HAD_CB_ERROR
 22864  __59:
 22865  	;
 22866  __58:
 22867  	;
 22868  
 22869  	// For debugging, there is a function that shows the parsed data vector.
 22870  
 22871  	// For debugging capturing information this code can be enabled.
 22872  
 22873  	// Pretend to compile the pattern while actually just accumulating the amount
 22874  	// of memory required in the 'length' variable. This behaviour is triggered by
 22875  	// passing a non-NULL final argument to compile_regex(). We pass a block of
 22876  	// workspace (cworkspace) for it to compile parts of the pattern into; the
 22877  	// compiled code is discarded when it is no longer needed, so hopefully this
 22878  	// workspace will never overflow, though there is a test for its doing so.
 22879  	//
 22880  	// On error, errorcode will be set non-zero, so we don't need to look at the
 22881  	// result of the function. The initial options have been put into the cb block,
 22882  	// but we still have to pass a separate options variable (the first argument)
 22883  	// because the options may change as the pattern is processed.
 22884  
 22885  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ferroroffset = patlen // For any subsequent errors that do not set it
 22886  	*(*uintptr)(unsafe.Pointer(bp + 17760 /* pptr */)) = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern
 22887  	*(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)) = cworkspace
 22888  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)))) = OP_BRA
 22889  
 22890  	compile_regex(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fexternal_options, bp+17752, bp+17760, bp+17768, uint32(0), bp+17772,
 22891  		bp+17776, bp+17780, bp+17784, uintptr(0), bp+17440, bp+17792)
 22892  
 22893  	if !(*(*int32)(unsafe.Pointer(bp + 17768)) != 0) {
 22894  		goto __60
 22895  	}
 22896  	goto HAD_CB_ERROR
 22897  __60:
 22898  	; // Offset is in cb.erroroffset
 22899  
 22900  	// This should be caught in compile_regex(), but just in case...
 22901  
 22902  	if !(*(*Tsize_t)(unsafe.Pointer(bp + 17792)) > uint64(int32(1)<<16)) {
 22903  		goto __61
 22904  	}
 22905  
 22906  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR20
 22907  	goto HAD_CB_ERROR
 22908  __61:
 22909  	;
 22910  
 22911  	// Compute the size of, and then get and initialize, the data block for storing
 22912  	// the compiled pattern and names table. Integer overflow should no longer be
 22913  	// possible because nowadays we limit the maximum value of cb.names_found and
 22914  	// cb.name_entry_size.
 22915  
 22916  	re_blocksize = uint64(unsafe.Sizeof(Tpcre2_real_code_8{})) + (*(*Tsize_t)(unsafe.Pointer(bp + 17792))+Tsize_t((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fnames_found)*Tsize_t((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fname_entry_size))*uint64(DPCRE2_CODE_UNIT_WIDTH/8)
 22917  	re = (*struct {
 22918  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 22919  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls, re_blocksize, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 22920  	if !(re == uintptr(0)) {
 22921  		goto __62
 22922  	}
 22923  
 22924  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR21
 22925  	goto HAD_CB_ERROR
 22926  __62:
 22927  	;
 22928  
 22929  	// The compiler may put padding at the end of the pcre2_real_code structure in
 22930  	// order to round it up to a multiple of 4 or 8 bytes. This means that when a
 22931  	// compiled pattern is copied (for example, when serialized) undefined bytes are
 22932  	// read, and this annoys debuggers such as valgrind. To avoid this, we explicitly
 22933  	// write to the last 8 bytes of the structure before setting the fields.
 22934  
 22935  	libc.Xmemset(tls, re+uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{})))-uintptr(8), 0, uint64(8))
 22936  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmemctl = (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl
 22937  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables = tables
 22938  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fexecutable_jit = uintptr(0)
 22939  	libc.Xmemset(tls, re+40, 0, uint64(32)*uint64(unsafe.Sizeof(Tuint8_t(0))))
 22940  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize = re_blocksize
 22941  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number = uint32(DMAGIC_NUMBER)
 22942  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fcompile_options = options
 22943  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fexternal_options
 22944  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fextra_options = (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options
 22945  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags = Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8) | (*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fexternal_flags | setflags
 22946  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap = limit_heap
 22947  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match = limit_match
 22948  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth = limit_depth
 22949  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit = Tuint32_t(0)
 22950  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit = Tuint32_t(0)
 22951  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention = Tuint16_t(bsr)
 22952  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention = Tuint16_t(newline)
 22953  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind = Tuint16_t(0)
 22954  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength = Tuint16_t(0)
 22955  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket = Tuint16_t(0)
 22956  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref = Tuint16_t(0)
 22957  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fname_entry_size
 22958  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnames_found
 22959  
 22960  	// The basic block is immediately followed by the name table, and the compiled
 22961  	// code follows after that.
 22962  
 22963  	codestart = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) + uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count))
 22964  
 22965  	// Update the compile data block for the actual compile. The starting points of
 22966  	// the name/number translation table and of the code are passed around in the
 22967  	// compile data block. The start/end pattern and initial options are already set
 22968  	// from the pre-compile phase, as is the name_entry_size field.
 22969  
 22970  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparens_depth = Tuint16_t(0)
 22971  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fassert_depth = Tuint16_t(0)
 22972  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Flastcapture = Tuint32_t(0)
 22973  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fname_table = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{})))
 22974  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fstart_code = codestart
 22975  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Freq_varyopt = Tuint32_t(0)
 22976  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fhad_accept = DFALSE
 22977  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fhad_pruneorskip = DFALSE
 22978  	(*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fopen_caps = uintptr(0)
 22979  
 22980  	// If any named groups were found, create the name/number table from the list
 22981  	// created in the pre-pass.
 22982  
 22983  	if !(int32((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fnames_found) > 0) {
 22984  		goto __63
 22985  	}
 22986  
 22987  	ng = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fnamed_groups
 22988  	i = Tuint32_t(0)
 22989  __64:
 22990  	if !(i < Tuint32_t((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fnames_found)) {
 22991  		goto __66
 22992  	}
 22993  	add_name_to_table(tls, bp+17440, (*Tnamed_group_8)(unsafe.Pointer(ng)).Fname, int32((*Tnamed_group_8)(unsafe.Pointer(ng)).Flength), (*Tnamed_group_8)(unsafe.Pointer(ng)).Fnumber, i)
 22994  	goto __65
 22995  __65:
 22996  	i++
 22997  	ng += 16
 22998  	goto __64
 22999  	goto __66
 23000  __66:
 23001  	;
 23002  __63:
 23003  	;
 23004  
 23005  	// Set up a starting, non-extracting bracket, then compile the expression. On
 23006  	// error, errorcode will be set non-zero, so we don't need to look at the result
 23007  	// of the function here.
 23008  
 23009  	*(*uintptr)(unsafe.Pointer(bp + 17760 /* pptr */)) = (*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fparsed_pattern
 23010  	*(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)) = codestart
 23011  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)))) = OP_BRA
 23012  	regexrc = compile_regex(tls, (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options, bp+17752, bp+17760, bp+17768, uint32(0),
 23013  		bp+17772, bp+17776, bp+17780, bp+17784, uintptr(0), bp+17440, uintptr(0))
 23014  	if !(regexrc < 0) {
 23015  		goto __67
 23016  	}
 23017  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_MATCH_EMPTY)
 23018  __67:
 23019  	;
 23020  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fbracount)
 23021  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Ftop_backref)
 23022  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind = Tuint16_t((*Tcompile_block_8)(unsafe.Pointer(bp + 17440 /* &cb */)).Fmax_lookbehind)
 23023  
 23024  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fhad_accept != 0) {
 23025  		goto __68
 23026  	}
 23027  
 23028  	*(*Tuint32_t)(unsafe.Pointer(bp + 17780 /* reqcu */)) = Tuint32_t(0) // Must disable after (*ACCEPT)
 23029  	*(*Tuint32_t)(unsafe.Pointer(bp + 17784 /* reqcuflags */)) = DREQ_NONE
 23030  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_HASACCEPT) // Disables minimum length
 23031  __68:
 23032  	;
 23033  
 23034  	// Fill in the final opcode and check for disastrous overflow. If no overflow,
 23035  	// but the estimated length exceeds the really used length, adjust the value of
 23036  	// re->blocksize, and if valgrind support is configured, mark the extra allocated
 23037  	// memory as unaddressable, so that any out-of-bound reads can be detected.
 23038  
 23039  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 17752 /* code */)), 1))) = OP_END
 23040  	usedlength = Tsize_t((int64(*(*uintptr)(unsafe.Pointer(bp + 17752))) - int64(codestart)) / 1)
 23041  	if !(usedlength > *(*Tsize_t)(unsafe.Pointer(bp + 17792))) {
 23042  		goto __69
 23043  	}
 23044  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR23
 23045  	goto __70
 23046  __69:
 23047  
 23048  	*(*Tsize_t)(unsafe.Pointer(re + 72)) -= (*(*Tsize_t)(unsafe.Pointer(bp + 17792)) - usedlength) * uint64(DPCRE2_CODE_UNIT_WIDTH/8)
 23049  __70:
 23050  	;
 23051  
 23052  	// Scan the pattern for recursion/subroutine calls and convert the group
 23053  	// numbers into offsets. Maintain a small cache so that repeated groups containing
 23054  	// recursions are efficiently handled.
 23055  
 23056  	if !(*(*int32)(unsafe.Pointer(bp + 17768)) == 0 && (*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fhad_recurse != 0) {
 23057  		goto __71
 23058  	}
 23059  
 23060  	ccount = uint32(0)
 23061  	start = DRSCAN_CACHE_SIZE
 23062  
 23063  	rcode = find_recurse(tls, codestart, utf)
 23064  __72:
 23065  	if !(rcode != uintptr(0)) {
 23066  		goto __74
 23067  	}
 23068  
 23069  	groupnumber = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 2)))))
 23070  	if !(groupnumber == 0) {
 23071  		goto __75
 23072  	}
 23073  	rgroup = codestart
 23074  	goto __76
 23075  __75:
 23076  
 23077  	search_from = codestart
 23078  	rgroup = uintptr(0)
 23079  	i = Tuint32_t(0)
 23080  	p1 = start
 23081  __77:
 23082  	if !(i < ccount) {
 23083  		goto __79
 23084  	}
 23085  
 23086  	if !(groupnumber == (*Trecurse_cache)(unsafe.Pointer(bp+17800+uintptr(p1)*16)).Fgroupnumber) {
 23087  		goto __80
 23088  	}
 23089  
 23090  	rgroup = (*Trecurse_cache)(unsafe.Pointer(bp + 17800 + uintptr(p1)*16)).Fgroup
 23091  	goto __79
 23092  __80:
 23093  	;
 23094  
 23095  	// Group n+1 must always start to the right of group n, so we can save
 23096  	//         search time below when the new group number is greater than any of the
 23097  	//         previously found groups.
 23098  
 23099  	if !(groupnumber > (*Trecurse_cache)(unsafe.Pointer(bp+17800+uintptr(p1)*16)).Fgroupnumber) {
 23100  		goto __81
 23101  	}
 23102  	search_from = (*Trecurse_cache)(unsafe.Pointer(bp + 17800 + uintptr(p1)*16)).Fgroup
 23103  __81:
 23104  	;
 23105  	goto __78
 23106  __78:
 23107  	i++
 23108  	p1 = (p1 + 1) & 7
 23109  	goto __77
 23110  	goto __79
 23111  __79:
 23112  	;
 23113  
 23114  	if !(rgroup == uintptr(0)) {
 23115  		goto __82
 23116  	}
 23117  
 23118  	rgroup = X_pcre2_find_bracket_8(tls, search_from, utf, groupnumber)
 23119  	if !(rgroup == uintptr(0)) {
 23120  		goto __83
 23121  	}
 23122  
 23123  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR53
 23124  	goto __74
 23125  __83:
 23126  	;
 23127  	if !(libc.PreDecInt32(&start, 1) < 0) {
 23128  		goto __84
 23129  	}
 23130  	start = DRSCAN_CACHE_SIZE - 1
 23131  __84:
 23132  	;
 23133  	(*Trecurse_cache)(unsafe.Pointer(bp + 17800 + uintptr(start)*16)).Fgroupnumber = groupnumber
 23134  	(*Trecurse_cache)(unsafe.Pointer(bp + 17800 + uintptr(start)*16)).Fgroup = rgroup
 23135  	if !(ccount < uint32(DRSCAN_CACHE_SIZE)) {
 23136  		goto __85
 23137  	}
 23138  	ccount++
 23139  __85:
 23140  	;
 23141  __82:
 23142  	;
 23143  __76:
 23144  	;
 23145  
 23146  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 1)) = TPCRE2_UCHAR8((int64(rgroup) - int64(codestart)) / 1 >> 8)
 23147  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(rcode + 2)) = TPCRE2_UCHAR8((int64(rgroup) - int64(codestart)) / 1 & int64(255))
 23148  	goto __73
 23149  __73:
 23150  	rcode = find_recurse(tls, rcode+uintptr(1)+uintptr(DLINK_SIZE), utf)
 23151  	goto __72
 23152  	goto __74
 23153  __74:
 23154  	;
 23155  __71:
 23156  	;
 23157  
 23158  	// In rare debugging situations we sometimes need to look at the compiled code
 23159  	// at this stage.
 23160  
 23161  	// Unless disabled, check whether any single character iterators can be
 23162  	// auto-possessified. The function overwrites the appropriate opcode values, so
 23163  	// the type of the pointer must be cast. NOTE: the intermediate variable "temp" is
 23164  	// used in this code because at least one compiler gives a warning about loss of
 23165  	// "const" attribute if the cast (PCRE2_UCHAR *)codestart is used directly in the
 23166  	// function call.
 23167  
 23168  	if !(*(*int32)(unsafe.Pointer(bp + 17768)) == 0 && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_AUTO_POSSESS == Tuint32_t(0)) {
 23169  		goto __86
 23170  	}
 23171  
 23172  	temp = codestart
 23173  	if !(X_pcre2_auto_possessify_8(tls, temp, bp+17440) != 0) {
 23174  		goto __87
 23175  	}
 23176  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR80
 23177  __87:
 23178  	;
 23179  __86:
 23180  	;
 23181  
 23182  	// Failed to compile, or error while post-processing.
 23183  
 23184  	if !(*(*int32)(unsafe.Pointer(bp + 17768)) != 0) {
 23185  		goto __88
 23186  	}
 23187  	goto HAD_CB_ERROR
 23188  __88:
 23189  	;
 23190  
 23191  	// Successful compile. If the anchored option was not passed, set it if
 23192  	// we can determine that the pattern is anchored by virtue of ^ characters or \A
 23193  	// or anything else, such as starting with non-atomic .* when DOTALL is set and
 23194  	// there are no occurrences of *PRUNE or *SKIP (though there is an option to
 23195  	// disable this case).
 23196  
 23197  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED == Tuint32_t(0) && is_anchored(tls, codestart, uint32(0), bp+17440, 0, DFALSE) != 0) {
 23198  		goto __89
 23199  	}
 23200  	*(*Tuint32_t)(unsafe.Pointer(re + 88)) |= DPCRE2_ANCHORED
 23201  __89:
 23202  	;
 23203  
 23204  	// Set up the first code unit or startline flag, the required code unit, and
 23205  	// then study the pattern. This code need not be obeyed if PCRE2_NO_START_OPTIMIZE
 23206  	// is set, as the data it would create will not be used. Note that a first code
 23207  	// unit (but not the startline flag) is useful for anchored patterns because it
 23208  	// can still give a quick "no match" and also avoid searching for a last code
 23209  	// unit.
 23210  
 23211  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_START_OPTIMIZE == Tuint32_t(0)) {
 23212  		goto __90
 23213  	}
 23214  
 23215  	minminlength = 0 // For minimal minlength from first/required CU
 23216  
 23217  	// If we do not have a first code unit, see if there is one that is asserted
 23218  	//   (these are not saved during the compile because they can cause conflicts with
 23219  	//   actual literals that follow).
 23220  
 23221  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17776)) >= DREQ_NONE) {
 23222  		goto __91
 23223  	}
 23224  	*(*Tuint32_t)(unsafe.Pointer(bp + 17772 /* firstcu */)) = find_firstassertedcu(tls, codestart, bp+17776, uint32(0))
 23225  __91:
 23226  	;
 23227  
 23228  	// Save the data for a first code unit. The existence of one means the
 23229  	//   minimum length must be at least 1.
 23230  
 23231  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17776)) < DREQ_NONE) {
 23232  		goto __92
 23233  	}
 23234  
 23235  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit = *(*Tuint32_t)(unsafe.Pointer(bp + 17772 /* firstcu */))
 23236  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_FIRSTSET)
 23237  	minminlength++
 23238  
 23239  	// Handle caseless first code units.
 23240  
 23241  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17776))&DREQ_CASELESS != Tuint32_t(0)) {
 23242  		goto __94
 23243  	}
 23244  
 23245  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)) < Tuint32_t(128) || !(utf != 0) && !(ucp != 0) && *(*Tuint32_t)(unsafe.Pointer(bp + 17772)) < Tuint32_t(255)) {
 23246  		goto __95
 23247  	}
 23248  
 23249  	if !(Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)))))) != *(*Tuint32_t)(unsafe.Pointer(bp + 17772))) {
 23250  		goto __97
 23251  	}
 23252  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_FIRSTCASELESS)
 23253  __97:
 23254  	;
 23255  	goto __96
 23256  __95:
 23257  	if !(ucp != 0 && !(utf != 0) && Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)))+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17772)))%DUCD_BLOCK_SIZE])*12)).Fother_case) != *(*Tuint32_t)(unsafe.Pointer(bp + 17772))) {
 23258  		goto __98
 23259  	}
 23260  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_FIRSTCASELESS)
 23261  __98:
 23262  	;
 23263  __96:
 23264  	;
 23265  __94:
 23266  	;
 23267  	goto __93
 23268  __92:
 23269  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED == Tuint32_t(0) && is_startline(tls, codestart, uint32(0), bp+17440, 0, DFALSE) != 0) {
 23270  		goto __99
 23271  	}
 23272  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_STARTLINE)
 23273  __99:
 23274  	;
 23275  __93:
 23276  	;
 23277  
 23278  	// Handle the "required code unit", if one is set. In the UTF case we can
 23279  	//   increment the minimum minimum length only if we are sure this really is a
 23280  	//   different character and not a non-starting code unit of the first character,
 23281  	//   because the minimum length count is in characters, not code units.
 23282  
 23283  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17784)) < DREQ_NONE) {
 23284  		goto __100
 23285  	}
 23286  
 23287  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF == Tuint32_t(0) || *(*Tuint32_t)(unsafe.Pointer(bp + 17776)) >= DREQ_NONE || *(*Tuint32_t)(unsafe.Pointer(bp + 17772))&Tuint32_t(0x80) == Tuint32_t(0) || *(*Tuint32_t)(unsafe.Pointer(bp + 17780))&Tuint32_t(0x80) == Tuint32_t(0)) {
 23288  		goto __101
 23289  	} /* Req is ASCII */
 23290  
 23291  	minminlength++
 23292  __101:
 23293  	;
 23294  
 23295  	// In the case of an anchored pattern, set up the value only if it follows
 23296  	//     a variable length item in the pattern.
 23297  
 23298  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED == Tuint32_t(0) || *(*Tuint32_t)(unsafe.Pointer(bp + 17784))&DREQ_VARY != Tuint32_t(0)) {
 23299  		goto __102
 23300  	}
 23301  
 23302  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit = *(*Tuint32_t)(unsafe.Pointer(bp + 17780 /* reqcu */))
 23303  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_LASTSET)
 23304  
 23305  	// Handle caseless required code units as for first code units (above).
 23306  
 23307  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17784))&DREQ_CASELESS != Tuint32_t(0)) {
 23308  		goto __103
 23309  	}
 23310  
 23311  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)) < Tuint32_t(128) || !(utf != 0) && !(ucp != 0) && *(*Tuint32_t)(unsafe.Pointer(bp + 17780)) < Tuint32_t(255)) {
 23312  		goto __104
 23313  	}
 23314  
 23315  	if !(Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)))))) != *(*Tuint32_t)(unsafe.Pointer(bp + 17780))) {
 23316  		goto __106
 23317  	}
 23318  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_LASTCASELESS)
 23319  __106:
 23320  	;
 23321  	goto __105
 23322  __104:
 23323  	if !(ucp != 0 && !(utf != 0) && Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)))+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 17780)))%DUCD_BLOCK_SIZE])*12)).Fother_case) != *(*Tuint32_t)(unsafe.Pointer(bp + 17780))) {
 23324  		goto __107
 23325  	}
 23326  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= Tuint32_t(DPCRE2_LASTCASELESS)
 23327  __107:
 23328  	;
 23329  __105:
 23330  	;
 23331  __103:
 23332  	;
 23333  __102:
 23334  	;
 23335  __100:
 23336  	;
 23337  
 23338  	// Study the compiled pattern to set up information such as a bitmap of
 23339  	//   starting code units and a minimum matching length.
 23340  
 23341  	if !(X_pcre2_study_8(tls, re) != 0) {
 23342  		goto __108
 23343  	}
 23344  
 23345  	*(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */)) = ERR31
 23346  	goto HAD_CB_ERROR
 23347  __108:
 23348  	;
 23349  
 23350  	// If study() set a bitmap of starting code units, it implies a minimum
 23351  	//   length of at least one.
 23352  
 23353  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0) && minminlength == 0) {
 23354  		goto __109
 23355  	}
 23356  	minminlength = 1
 23357  __109:
 23358  	;
 23359  
 23360  	// If the minimum length set (or not set) by study() is less than the minimum
 23361  	//   implied by required code units, override it.
 23362  
 23363  	if !(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength) < minminlength) {
 23364  		goto __110
 23365  	}
 23366  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength = Tuint16_t(minminlength)
 23367  __110:
 23368  	;
 23369  __90:
 23370  	; // End of start-of-match optimizations.
 23371  
 23372  	// Control ends up here in all cases. When running under valgrind, make a
 23373  	// pattern's terminating zero defined again. If memory was obtained for the parsed
 23374  	// version of the pattern, free it before returning. Also free the list of named
 23375  	// groups if a larger one had to be obtained, and likewise the group information
 23376  	// vector.
 23377  
 23378  EXIT:
 23379  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fparsed_pattern != bp+13344) {
 23380  		goto __111
 23381  	}
 23382  	(*struct {
 23383  		f func(*libc.TLS, uintptr, uintptr)
 23384  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fparsed_pattern, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 23385  __111:
 23386  	;
 23387  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fnamed_group_list_size > Tuint32_t(DNAMED_GROUP_LIST_SIZE)) {
 23388  		goto __112
 23389  	}
 23390  	(*struct {
 23391  		f func(*libc.TLS, uintptr, uintptr)
 23392  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fnamed_groups, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 23393  __112:
 23394  	;
 23395  	if !((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Fgroupinfo != bp+12000) {
 23396  		goto __113
 23397  	}
 23398  	(*struct {
 23399  		f func(*libc.TLS, uintptr, uintptr)
 23400  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, (*Tcompile_block_8)(unsafe.Pointer(bp+17440 /* &cb */)).Fgroupinfo, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 23401  __113:
 23402  	;
 23403  	return re // Will be NULL after an error
 23404  
 23405  	// Errors discovered in parse_regex() set the offset value in the compile
 23406  	// block. Errors discovered before it is called must compute it from the ptr
 23407  	// value. After parse_regex() is called, the offset in the compile block is set to
 23408  	// the end of the pattern, but certain errors in compile_regex() may reset it if
 23409  	// an offset is available in the parsed pattern.
 23410  
 23411  HAD_CB_ERROR:
 23412  	ptr = pattern + uintptr((*Tcompile_block_8)(unsafe.Pointer(bp+17440)).Ferroroffset)
 23413  
 23414  HAD_EARLY_ERROR:
 23415  	*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int64(ptr) - int64(pattern)) / 1)
 23416  
 23417  HAD_ERROR:
 23418  	*(*int32)(unsafe.Pointer(errorptr)) = *(*int32)(unsafe.Pointer(bp + 17768 /* errorcode */))
 23419  	Xpcre2_code_free_8(tls, re)
 23420  	re = uintptr(0)
 23421  	goto EXIT
 23422  	return uintptr(0)
 23423  }
 23424  
 23425  // End of pcre2_compile.c
 23426  
 23427  // ************************************************
 23428  //
 23429  //      Perl-Compatible Regular Expressions       *
 23430  //
 23431  
 23432  // PCRE is a library of functions to support regular expressions whose syntax
 23433  // and semantics are as close as possible to those of the Perl 5 language.
 23434  //
 23435  //                        Written by Philip Hazel
 23436  //      Original API code Copyright (c) 1997-2012 University of Cambridge
 23437  //           New API code Copyright (c) 2016-2020 University of Cambridge
 23438  //
 23439  // -----------------------------------------------------------------------------
 23440  // Redistribution and use in source and binary forms, with or without
 23441  // modification, are permitted provided that the following conditions are met:
 23442  //
 23443  //     * Redistributions of source code must retain the above copyright notice,
 23444  //       this list of conditions and the following disclaimer.
 23445  //
 23446  //     * Redistributions in binary form must reproduce the above copyright
 23447  //       notice, this list of conditions and the following disclaimer in the
 23448  //       documentation and/or other materials provided with the distribution.
 23449  //
 23450  //     * Neither the name of the University of Cambridge nor the names of its
 23451  //       contributors may be used to endorse or promote products derived from
 23452  //       this software without specific prior written permission.
 23453  //
 23454  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 23455  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 23456  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 23457  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 23458  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 23459  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 23460  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 23461  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 23462  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 23463  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 23464  // POSSIBILITY OF SUCH DAMAGE.
 23465  // -----------------------------------------------------------------------------
 23466  
 23467  // src/config.h.  Generated from config.h.in by configure.
 23468  // src/config.h.in.  Generated from configure.ac by autoheader.
 23469  
 23470  // PCRE2 is written in Standard C, but there are a few non-standard things it
 23471  // can cope with, allowing it to run on SunOS4 and other "close to standard"
 23472  // systems.
 23473  //
 23474  // In environments that support the GNU autotools, config.h.in is converted into
 23475  // config.h by the "configure" script. In environments that use CMake,
 23476  // config-cmake.in is converted into config.h. If you are going to build PCRE2 "by
 23477  // hand" without using "configure" or CMake, you should copy the distributed
 23478  // config.h.generic to config.h, and edit the macro definitions to be the way you
 23479  // need them. You must then add -DHAVE_CONFIG_H to all of your compile commands,
 23480  // so that config.h is included at the start of every source.
 23481  //
 23482  // Alternatively, you can avoid editing by using -D on the compiler command line
 23483  // to set the macro values. In this case, you do not have to set -DHAVE_CONFIG_H,
 23484  // but if you do, default values will be taken from config.h for non-boolean
 23485  // macros that are not defined on the command line.
 23486  //
 23487  // Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE2_8 should either be
 23488  // defined (conventionally to 1) for TRUE, and not defined at all for FALSE. All
 23489  // such macros are listed as a commented #undef in config.h.generic. Macros such
 23490  // as MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are
 23491  // surrounded by #ifndef/#endif lines so that the value can be overridden by -D.
 23492  //
 23493  // PCRE2 uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if
 23494  // HAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make
 23495  // sure both macros are undefined; an emulation function will then be used.
 23496  
 23497  // By default, the \R escape sequence matches any Unicode line ending
 23498  //    character or sequence of characters. If BSR_ANYCRLF is defined (to any
 23499  //    value), this is changed so that backslash-R matches only CR, LF, or CRLF.
 23500  //    The build-time default can be overridden by the user of PCRE2 at runtime.
 23501  //
 23502  // #undef BSR_ANYCRLF
 23503  
 23504  // Define to any value to disable the use of the z and t modifiers in
 23505  //    formatting settings such as %zu or %td (this is rarely needed).
 23506  // #undef DISABLE_PERCENT_ZT
 23507  
 23508  // If you are compiling for a system that uses EBCDIC instead of ASCII
 23509  //    character codes, define this macro to any value. When EBCDIC is set, PCRE2
 23510  //    assumes that all input strings are in EBCDIC. If you do not define this
 23511  //    macro, PCRE2 will assume input strings are ASCII or UTF-8/16/32 Unicode. It
 23512  //    is not possible to build a version of PCRE2 that supports both EBCDIC and
 23513  //    UTF-8/16/32.
 23514  // #undef EBCDIC
 23515  
 23516  // In an EBCDIC environment, define this macro to any value to arrange for the
 23517  //    NL character to be 0x25 instead of the default 0x15. NL plays the role that
 23518  //    LF does in an ASCII/Unicode environment.
 23519  // #undef EBCDIC_NL25
 23520  
 23521  // Define this if your compiler supports __attribute__((uninitialized))
 23522  // #undef HAVE_ATTRIBUTE_UNINITIALIZED
 23523  
 23524  // Define to 1 if you have the `bcopy' function.
 23525  
 23526  // Define to 1 if you have the <bzlib.h> header file.
 23527  
 23528  // Define to 1 if you have the <dirent.h> header file.
 23529  
 23530  // Define to 1 if you have the <dlfcn.h> header file.
 23531  
 23532  // Define to 1 if you have the <editline/readline.h> header file.
 23533  // #undef HAVE_EDITLINE_READLINE_H
 23534  
 23535  // Define to 1 if you have the <edit/readline/readline.h> header file.
 23536  // #undef HAVE_EDIT_READLINE_READLINE_H
 23537  
 23538  // Define to 1 if you have the <inttypes.h> header file.
 23539  
 23540  // Define to 1 if you have the <limits.h> header file.
 23541  
 23542  // Define to 1 if you have the `memfd_create' function.
 23543  
 23544  // Define to 1 if you have the `memmove' function.
 23545  
 23546  // Define to 1 if you have the <minix/config.h> header file.
 23547  // #undef HAVE_MINIX_CONFIG_H
 23548  
 23549  // Define to 1 if you have the `mkostemp' function.
 23550  
 23551  // Define if you have POSIX threads libraries and header files.
 23552  // #undef HAVE_PTHREAD
 23553  
 23554  // Have PTHREAD_PRIO_INHERIT.
 23555  // #undef HAVE_PTHREAD_PRIO_INHERIT
 23556  
 23557  // Define to 1 if you have the <readline.h> header file.
 23558  // #undef HAVE_READLINE_H
 23559  
 23560  // Define to 1 if you have the <readline/history.h> header file.
 23561  // #undef HAVE_READLINE_HISTORY_H
 23562  
 23563  // Define to 1 if you have the <readline/readline.h> header file.
 23564  // #undef HAVE_READLINE_READLINE_H
 23565  
 23566  // Define to 1 if you have the `realpath' function.
 23567  
 23568  // Define to 1 if you have the `secure_getenv' function.
 23569  
 23570  // Define to 1 if you have the <stdint.h> header file.
 23571  
 23572  // Define to 1 if you have the <stdio.h> header file.
 23573  
 23574  // Define to 1 if you have the <stdlib.h> header file.
 23575  
 23576  // Define to 1 if you have the `strerror' function.
 23577  
 23578  // Define to 1 if you have the <strings.h> header file.
 23579  
 23580  // Define to 1 if you have the <string.h> header file.
 23581  
 23582  // Define to 1 if you have the <sys/stat.h> header file.
 23583  
 23584  // Define to 1 if you have the <sys/types.h> header file.
 23585  
 23586  // Define to 1 if you have the <sys/wait.h> header file.
 23587  
 23588  // Define to 1 if you have the <unistd.h> header file.
 23589  
 23590  // Define to 1 if the compiler supports simple visibility declarations.
 23591  
 23592  // Define to 1 if you have the <wchar.h> header file.
 23593  
 23594  // Define to 1 if you have the <windows.h> header file.
 23595  // #undef HAVE_WINDOWS_H
 23596  
 23597  // Define to 1 if you have the <zlib.h> header file.
 23598  
 23599  // This limits the amount of memory that may be used while matching a pattern.
 23600  //    It applies to both pcre2_match() and pcre2_dfa_match(). It does not apply
 23601  //    to JIT matching. The value is in kibibytes (units of 1024 bytes).
 23602  
 23603  // The value of LINK_SIZE determines the number of bytes used to store links
 23604  //    as offsets within the compiled regex. The default is 2, which allows for
 23605  //    compiled patterns up to 65535 code units long. This covers the vast
 23606  //    majority of cases. However, PCRE2 can also be compiled to use 3 or 4 bytes
 23607  //    instead. This allows for longer patterns in extreme cases.
 23608  
 23609  // Define to the sub-directory where libtool stores uninstalled libraries.
 23610  
 23611  // The value of MATCH_LIMIT determines the default number of times the
 23612  //    pcre2_match() function can record a backtrack position during a single
 23613  //    matching attempt. The value is also used to limit a loop counter in
 23614  //    pcre2_dfa_match(). There is a runtime interface for setting a different
 23615  //    limit. The limit exists in order to catch runaway regular expressions that
 23616  //    take for ever to determine that they do not match. The default is set very
 23617  //    large so that it does not accidentally catch legitimate cases.
 23618  
 23619  // The above limit applies to all backtracks, whether or not they are nested.
 23620  //    In some environments it is desirable to limit the nesting of backtracking
 23621  //    (that is, the depth of tree that is searched) more strictly, in order to
 23622  //    restrict the maximum amount of heap memory that is used. The value of
 23623  //    MATCH_LIMIT_DEPTH provides this facility. To have any useful effect, it
 23624  //    must be less than the value of MATCH_LIMIT. The default is to use the same
 23625  //    value as MATCH_LIMIT. There is a runtime method for setting a different
 23626  //    limit. In the case of pcre2_dfa_match(), this limit controls the depth of
 23627  //    the internal nested function calls that are used for pattern recursions,
 23628  //    lookarounds, and atomic groups.
 23629  
 23630  // This limit is parameterized just in case anybody ever wants to change it.
 23631  //    Care must be taken if it is increased, because it guards against integer
 23632  //    overflow caused by enormously large patterns.
 23633  
 23634  // This limit is parameterized just in case anybody ever wants to change it.
 23635  //    Care must be taken if it is increased, because it guards against integer
 23636  //    overflow caused by enormously large patterns.
 23637  
 23638  // Defining NEVER_BACKSLASH_C locks out the use of \C in all patterns.
 23639  // #undef NEVER_BACKSLASH_C
 23640  
 23641  // The value of NEWLINE_DEFAULT determines the default newline character
 23642  //    sequence. PCRE2 client programs can override this by selecting other values
 23643  //    at run time. The valid values are 1 (CR), 2 (LF), 3 (CRLF), 4 (ANY), 5
 23644  //    (ANYCRLF), and 6 (NUL).
 23645  
 23646  // Name of package
 23647  
 23648  // Define to the address where bug reports for this package should be sent.
 23649  
 23650  // Define to the full name of this package.
 23651  
 23652  // Define to the full name and version of this package.
 23653  
 23654  // Define to the one symbol short name of this package.
 23655  
 23656  // Define to the home page for this package.
 23657  
 23658  // Define to the version of this package.
 23659  
 23660  // The value of PARENS_NEST_LIMIT specifies the maximum depth of nested
 23661  //    parentheses (of any kind) in a pattern. This limits the amount of system
 23662  //    stack that is used while compiling a pattern.
 23663  
 23664  // The value of PCRE2GREP_BUFSIZE is the starting size of the buffer used by
 23665  //    pcre2grep to hold parts of the file it is searching. The buffer will be
 23666  //    expanded up to PCRE2GREP_MAX_BUFSIZE if necessary, for files containing
 23667  //    very long lines. The actual amount of memory used by pcre2grep is three
 23668  //    times this number, because it allows for the buffering of "before" and
 23669  //    "after" lines.
 23670  
 23671  // The value of PCRE2GREP_MAX_BUFSIZE specifies the maximum size of the buffer
 23672  //    used by pcre2grep to hold parts of the file it is searching. The actual
 23673  //    amount of memory used by pcre2grep is three times this number, because it
 23674  //    allows for the buffering of "before" and "after" lines.
 23675  
 23676  // to make a symbol visible
 23677  
 23678  // to make a symbol visible
 23679  
 23680  // Define to any value to include debugging code.
 23681  // #undef PCRE2_DEBUG
 23682  
 23683  // to make a symbol visible
 23684  
 23685  // If you are compiling for a system other than a Unix-like system or
 23686  //    Win32, and it needs some magic to be inserted before the definition
 23687  //    of a function that is exported by the library, define this macro to
 23688  //    contain the relevant magic. If you do not define this macro, a suitable
 23689  //     __declspec value is used for Windows systems; in other environments
 23690  //    "extern" is used for a C compiler and "extern C" for a C++ compiler.
 23691  //    This macro apears at the start of every exported function that is part
 23692  //    of the external API. It does not appear on functions that are "external"
 23693  //    in the C sense, but which are internal to the library.
 23694  
 23695  // Define to any value if linking statically (TODO: make nice with Libtool)
 23696  
 23697  // Define to necessary symbol if this constant uses a non-standard name on
 23698  //    your system.
 23699  // #undef PTHREAD_CREATE_JOINABLE
 23700  
 23701  // Define to any non-zero number to enable support for SELinux compatible
 23702  //    executable memory allocator in JIT. Note that this will have no effect
 23703  //    unless SUPPORT_JIT is also defined.
 23704  // #undef SLJIT_PROT_EXECUTABLE_ALLOCATOR
 23705  
 23706  // Define to 1 if all of the C90 standard headers exist (not just the ones
 23707  //    required in a freestanding environment). This macro is provided for
 23708  //    backward compatibility; new code need not use it.
 23709  
 23710  // Define to any value to enable support for Just-In-Time compiling.
 23711  // #undef SUPPORT_JIT
 23712  
 23713  // Define to any value to allow pcre2grep to be linked with libbz2, so that it
 23714  //    is able to handle .bz2 files.
 23715  // #undef SUPPORT_LIBBZ2
 23716  
 23717  // Define to any value to allow pcre2test to be linked with libedit.
 23718  // #undef SUPPORT_LIBEDIT
 23719  
 23720  // Define to any value to allow pcre2test to be linked with libreadline.
 23721  // #undef SUPPORT_LIBREADLINE
 23722  
 23723  // Define to any value to allow pcre2grep to be linked with libz, so that it
 23724  //    is able to handle .gz files.
 23725  // #undef SUPPORT_LIBZ
 23726  
 23727  // Define to any value to enable callout script support in pcre2grep.
 23728  
 23729  // Define to any value to enable fork support in pcre2grep callout scripts.
 23730  //    This will have no effect unless SUPPORT_PCRE2GREP_CALLOUT is also defined.
 23731  //
 23732  
 23733  // Define to any value to enable JIT support in pcre2grep. Note that this will
 23734  //    have no effect unless SUPPORT_JIT is also defined.
 23735  // #undef SUPPORT_PCRE2GREP_JIT
 23736  
 23737  // Define to any value to enable the 16 bit PCRE2 library.
 23738  // #undef SUPPORT_PCRE2_16
 23739  
 23740  // Define to any value to enable the 32 bit PCRE2 library.
 23741  // #undef SUPPORT_PCRE2_32
 23742  
 23743  // Define to any value to enable the 8 bit PCRE2 library.
 23744  
 23745  // Define to any value to enable support for Unicode and UTF encoding. This
 23746  //    will work even in an EBCDIC environment, but it is incompatible with the
 23747  //    EBCDIC macro. That is, PCRE2 can support *either* EBCDIC code *or*
 23748  //    ASCII/Unicode, but not both at once.
 23749  
 23750  // Define to any value for valgrind support to find invalid memory reads.
 23751  // #undef SUPPORT_VALGRIND
 23752  
 23753  // Enable extensions on AIX 3, Interix.
 23754  // Enable general extensions on macOS.
 23755  // Enable general extensions on Solaris.
 23756  // Enable GNU extensions on systems that have them.
 23757  // Enable X/Open compliant socket functions that do not require linking
 23758  //    with -lxnet on HP-UX 11.11.
 23759  // Identify the host operating system as Minix.
 23760  //    This macro does not affect the system headers' behavior.
 23761  //    A future release of Autoconf may stop defining this macro.
 23762  // # undef _MINIX
 23763  // Enable general extensions on NetBSD.
 23764  //    Enable NetBSD compatibility extensions on Minix.
 23765  // Enable OpenBSD compatibility extensions on NetBSD.
 23766  //    Oddly enough, this does nothing on OpenBSD.
 23767  // Define to 1 if needed for POSIX-compatible behavior.
 23768  // # undef _POSIX_SOURCE
 23769  // Define to 2 if needed for POSIX-compatible behavior.
 23770  // # undef _POSIX_1_SOURCE
 23771  // Enable POSIX-compatible threading on Solaris.
 23772  // Enable extensions specified by ISO/IEC TS 18661-5:2014.
 23773  // Enable extensions specified by ISO/IEC TS 18661-1:2014.
 23774  // Enable extensions specified by ISO/IEC TS 18661-2:2015.
 23775  // Enable extensions specified by ISO/IEC TS 18661-4:2015.
 23776  // Enable extensions specified by ISO/IEC TS 18661-3:2015.
 23777  // Enable extensions specified by ISO/IEC TR 24731-2:2010.
 23778  // Enable extensions specified by ISO/IEC 24747:2009.
 23779  // Enable extensions on HP NonStop.
 23780  // Enable X/Open extensions.  Define to 500 only if necessary
 23781  //    to make mbstate_t available.
 23782  // # undef _XOPEN_SOURCE
 23783  
 23784  // Version number of package
 23785  
 23786  // Define to empty if `const' does not conform to ANSI C.
 23787  // #undef const
 23788  
 23789  // Define to the type of a signed integer type of width exactly 64 bits if
 23790  //    such a type exists and the standard includes do not define it.
 23791  // #undef int64_t
 23792  
 23793  // Define to `unsigned int' if <sys/types.h> does not define.
 23794  // #undef size_t
 23795  
 23796  // Save the configured link size, which is in bytes. In 16-bit and 32-bit modes
 23797  // its value gets changed by pcre2_intmodedep.h (included by pcre2_internal.h) to
 23798  // be in code units.
 23799  
 23800  var configured_link_size int32 = DLINK_SIZE /* pcre2_config.c:49:12 */
 23801  
 23802  // This function is needed only when memmove() is not available.
 23803  
 23804  // End of pcre2_internal.h
 23805  
 23806  // These macros are the standard way of turning unquoted text into C strings.
 23807  // They allow macros like PCRE2_MAJOR to be defined without quotes, which is
 23808  // convenient for user programs that want to test their values.
 23809  
 23810  // ************************************************
 23811  //
 23812  // Return info about what features are configured *
 23813  //
 23814  
 23815  // If where is NULL, the length of memory required is returned.
 23816  //
 23817  // Arguments:
 23818  //   what             what information is required
 23819  //   where            where to put the information
 23820  //
 23821  // Returns:           0 if a numerical value is returned
 23822  //                    >= 0 if a string value
 23823  //                    PCRE2_ERROR_BADOPTION if "where" not recognized
 23824  //                      or JIT target requested when JIT not enabled
 23825  
 23826  func Xpcre2_config_8(tls *libc.TLS, what Tuint32_t, where uintptr) int32 { /* pcre2_config.c:78:1: */
 23827  	if where == uintptr(0) {
 23828  		switch what {
 23829  		default:
 23830  			return -34
 23831  			fallthrough
 23832  
 23833  		case Tuint32_t(DPCRE2_CONFIG_BSR):
 23834  			fallthrough
 23835  		case Tuint32_t(DPCRE2_CONFIG_COMPILED_WIDTHS):
 23836  			fallthrough
 23837  		case Tuint32_t(DPCRE2_CONFIG_DEPTHLIMIT):
 23838  			fallthrough
 23839  		case Tuint32_t(DPCRE2_CONFIG_HEAPLIMIT):
 23840  			fallthrough
 23841  		case Tuint32_t(DPCRE2_CONFIG_JIT):
 23842  			fallthrough
 23843  		case Tuint32_t(DPCRE2_CONFIG_LINKSIZE):
 23844  			fallthrough
 23845  		case Tuint32_t(DPCRE2_CONFIG_MATCHLIMIT):
 23846  			fallthrough
 23847  		case Tuint32_t(DPCRE2_CONFIG_NEVER_BACKSLASH_C):
 23848  			fallthrough
 23849  		case Tuint32_t(DPCRE2_CONFIG_NEWLINE):
 23850  			fallthrough
 23851  		case Tuint32_t(DPCRE2_CONFIG_PARENSLIMIT):
 23852  			fallthrough
 23853  		case Tuint32_t(DPCRE2_CONFIG_STACKRECURSE):
 23854  			fallthrough // Obsolete
 23855  		case Tuint32_t(DPCRE2_CONFIG_TABLES_LENGTH):
 23856  			fallthrough
 23857  		case Tuint32_t(DPCRE2_CONFIG_UNICODE):
 23858  			return int32(unsafe.Sizeof(Tuint32_t(0)))
 23859  			fallthrough
 23860  
 23861  		// These are handled below
 23862  
 23863  		case Tuint32_t(DPCRE2_CONFIG_JITTARGET):
 23864  			fallthrough
 23865  		case Tuint32_t(DPCRE2_CONFIG_UNICODE_VERSION):
 23866  			fallthrough
 23867  		case Tuint32_t(DPCRE2_CONFIG_VERSION):
 23868  			break
 23869  		}
 23870  	}
 23871  
 23872  	switch what {
 23873  	default:
 23874  		return -34
 23875  
 23876  	case Tuint32_t(DPCRE2_CONFIG_BSR):
 23877  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DPCRE2_BSR_UNICODE)
 23878  		break
 23879  
 23880  	case Tuint32_t(DPCRE2_CONFIG_COMPILED_WIDTHS):
 23881  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0 +
 23882  			1)
 23883  		break
 23884  
 23885  	case Tuint32_t(DPCRE2_CONFIG_DEPTHLIMIT):
 23886  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DMATCH_LIMIT)
 23887  		break
 23888  
 23889  	case Tuint32_t(DPCRE2_CONFIG_HEAPLIMIT):
 23890  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DHEAP_LIMIT)
 23891  		break
 23892  
 23893  	case Tuint32_t(DPCRE2_CONFIG_JIT):
 23894  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0)
 23895  		break
 23896  
 23897  	case Tuint32_t(DPCRE2_CONFIG_JITTARGET):
 23898  		return -34
 23899  
 23900  	case Tuint32_t(DPCRE2_CONFIG_LINKSIZE):
 23901  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(configured_link_size)
 23902  		break
 23903  
 23904  	case Tuint32_t(DPCRE2_CONFIG_MATCHLIMIT):
 23905  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DMATCH_LIMIT)
 23906  		break
 23907  
 23908  	case Tuint32_t(DPCRE2_CONFIG_NEWLINE):
 23909  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DNEWLINE_DEFAULT)
 23910  		break
 23911  
 23912  	case Tuint32_t(DPCRE2_CONFIG_NEVER_BACKSLASH_C):
 23913  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0)
 23914  		break
 23915  
 23916  	case Tuint32_t(DPCRE2_CONFIG_PARENSLIMIT):
 23917  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(DPARENS_NEST_LIMIT)
 23918  		break
 23919  
 23920  	// This is now obsolete. The stack is no longer used via recursion for
 23921  	//   handling backtracking in pcre2_match().
 23922  
 23923  	case Tuint32_t(DPCRE2_CONFIG_STACKRECURSE):
 23924  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(0)
 23925  		break
 23926  
 23927  	case Tuint32_t(DPCRE2_CONFIG_TABLES_LENGTH):
 23928  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(Dcbits_offset + Dcbit_length + 256)
 23929  		break
 23930  
 23931  	case Tuint32_t(DPCRE2_CONFIG_UNICODE_VERSION):
 23932  		{
 23933  			var v uintptr = X_pcre2_unicode_version_8
 23934  			return int32(uint64(1) + func() uint64 {
 23935  				if where == uintptr(0) {
 23936  					return libc.Xstrlen(tls, v)
 23937  				}
 23938  				return X_pcre2_strcpy_c8_8(tls, where, v)
 23939  			}())
 23940  
 23941  		}
 23942  		break
 23943  
 23944  	case Tuint32_t(DPCRE2_CONFIG_UNICODE):
 23945  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(1)
 23946  		break
 23947  
 23948  	// The hackery in setting "v" below is to cope with the case when
 23949  	//   PCRE2_PRERELEASE is set to an empty string (which it is for real releases).
 23950  	//   If the second alternative is used in this case, it does not leave a space
 23951  	//   before the date. On the other hand, if all four macros are put into a single
 23952  	//   XSTRING when PCRE2_PRERELEASE is not empty, an unwanted space is inserted.
 23953  	//   There are problems using an "obvious" approach like this:
 23954  	//
 23955  	//      XSTRING(PCRE2_MAJOR) "." XSTRING(PCRE_MINOR)
 23956  	//      XSTRING(PCRE2_PRERELEASE) " " XSTRING(PCRE_DATE)
 23957  	//
 23958  	//   because, when PCRE2_PRERELEASE is empty, this leads to an attempted expansion
 23959  	//   of STRING(). The C standard states: "If (before argument substitution) any
 23960  	//   argument consists of no preprocessing tokens, the behavior is undefined." It
 23961  	//   turns out the gcc treats this case as a single empty string - which is what
 23962  	//   we really want - but Visual C grumbles about the lack of an argument for the
 23963  	//   macro. Unfortunately, both are within their rights. As there seems to be no
 23964  	//   way to test for a macro's value being empty at compile time, we have to
 23965  	//   resort to a runtime test.
 23966  
 23967  	case Tuint32_t(DPCRE2_CONFIG_VERSION):
 23968  		{
 23969  			var v uintptr
 23970  			if int32(*(*uint8)(unsafe.Pointer(ts + 630 + 1))) == 0 {
 23971  				v = ts + 632 /* "10.40 2022-04-14" */
 23972  			} else {
 23973  				v = ts + 649 /* "10.402022-04-14" */
 23974  			}
 23975  			return int32(uint64(1) + func() uint64 {
 23976  				if where == uintptr(0) {
 23977  					return libc.Xstrlen(tls, v)
 23978  				}
 23979  				return X_pcre2_strcpy_c8_8(tls, where, v)
 23980  			}())
 23981  
 23982  		}
 23983  	}
 23984  
 23985  	return 0
 23986  }
 23987  
 23988  // End of pcre2_config.c
 23989  
 23990  // This function is needed only when memmove() is not available.
 23991  
 23992  // End of pcre2_internal.h
 23993  
 23994  // ************************************************
 23995  //
 23996  //          Default malloc/free functions         *
 23997  //
 23998  
 23999  // Ignore the "user data" argument in each case.
 24000  
 24001  func default_malloc(tls *libc.TLS, size Tsize_t, data uintptr) uintptr { /* pcre2_context.c:56:13: */
 24002  	_ = data
 24003  	return libc.Xmalloc(tls, size)
 24004  }
 24005  
 24006  func default_free(tls *libc.TLS, block uintptr, data uintptr) { /* pcre2_context.c:63:13: */
 24007  	_ = data
 24008  	libc.Xfree(tls, block)
 24009  }
 24010  
 24011  // ************************************************
 24012  //
 24013  //        Get a block and save memory control     *
 24014  //
 24015  
 24016  // This internal function is called to get a block of memory in which the
 24017  // memory control data is to be stored at the start for future use.
 24018  //
 24019  // Arguments:
 24020  //   size        amount of memory required
 24021  //   memctl      pointer to a memctl block or NULL
 24022  //
 24023  // Returns:      pointer to memory or NULL on failure
 24024  
 24025  func X_pcre2_memctl_malloc_8(tls *libc.TLS, size Tsize_t, memctl uintptr) uintptr { /* pcre2_context.c:85:13: */
 24026  	var newmemctl uintptr
 24027  	var yield uintptr
 24028  	if memctl == uintptr(0) {
 24029  		yield = libc.Xmalloc(tls, size)
 24030  	} else {
 24031  		yield = (*struct {
 24032  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24033  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmalloc})).f(tls, size, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 24034  	}
 24035  	if yield == uintptr(0) {
 24036  		return uintptr(0)
 24037  	}
 24038  	newmemctl = yield
 24039  	if memctl == uintptr(0) {
 24040  		(*Tpcre2_memctl)(unsafe.Pointer(newmemctl)).Fmalloc = *(*uintptr)(unsafe.Pointer(&struct {
 24041  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24042  		}{default_malloc}))
 24043  		(*Tpcre2_memctl)(unsafe.Pointer(newmemctl)).Ffree = *(*uintptr)(unsafe.Pointer(&struct {
 24044  			f func(*libc.TLS, uintptr, uintptr)
 24045  		}{default_free}))
 24046  		(*Tpcre2_memctl)(unsafe.Pointer(newmemctl)).Fmemory_data = uintptr(0)
 24047  	} else {
 24048  		*(*Tpcre2_memctl)(unsafe.Pointer(newmemctl)) = *(*Tpcre2_memctl)(unsafe.Pointer(memctl))
 24049  	}
 24050  	return yield
 24051  }
 24052  
 24053  // ************************************************
 24054  //
 24055  //          Create and initialize contexts        *
 24056  //
 24057  
 24058  // Initializing for compile and match contexts is done in separate, private
 24059  // functions so that these can be called from functions such as pcre2_compile()
 24060  // when an external context is not supplied. The initializing functions have an
 24061  // option to set up default memory management.
 24062  
 24063  func Xpcre2_general_context_create_8(tls *libc.TLS, private_malloc uintptr, private_free uintptr, memory_data uintptr) uintptr { /* pcre2_context.c:114:38: */
 24064  	var gcontext uintptr
 24065  	if private_malloc == uintptr(0) {
 24066  		private_malloc = *(*uintptr)(unsafe.Pointer(&struct {
 24067  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24068  		}{default_malloc}))
 24069  	}
 24070  	if private_free == uintptr(0) {
 24071  		private_free = *(*uintptr)(unsafe.Pointer(&struct {
 24072  			f func(*libc.TLS, uintptr, uintptr)
 24073  		}{default_free}))
 24074  	}
 24075  	gcontext = (*struct {
 24076  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24077  	})(unsafe.Pointer(&struct{ uintptr }{private_malloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_general_context_8{})), memory_data)
 24078  	if gcontext == uintptr(0) {
 24079  		return uintptr(0)
 24080  	}
 24081  	(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmalloc = private_malloc
 24082  	(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Ffree = private_free
 24083  	(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data = memory_data
 24084  	return gcontext
 24085  }
 24086  
 24087  // A default compile context is set up to save having to initialize at run time
 24088  // when no context is supplied to the compile function.
 24089  
 24090  var X_pcre2_default_compile_context_8 = Tpcre2_compile_context_8{
 24091  	Fmemctl:             Tpcre2_memctl{Fmalloc: 0, Ffree: 0}, // Stack guard data
 24092  	Ftables:             0,                                   // Character tables
 24093  	Fmax_pattern_length: libc.CplUint64(uint64(0)),
 24094  	Fbsr_convention:     Tuint16_t(DPCRE2_BSR_UNICODE), // Backslash R default
 24095  	Fnewline_convention: Tuint16_t(DNEWLINE_DEFAULT),   // Newline convention
 24096  	Fparens_nest_limit:  Tuint32_t(DPARENS_NEST_LIMIT)} /* pcre2_context.c:133:29 */
 24097  
 24098  // Extra options
 24099  
 24100  // The create function copies the default into the new memory, but must
 24101  // override the default memory handling functions if a gcontext was provided.
 24102  
 24103  func Xpcre2_compile_context_create_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:147:38: */
 24104  	var ccontext uintptr = X_pcre2_memctl_malloc_8(tls,
 24105  		uint64(unsafe.Sizeof(Tpcre2_real_compile_context_8{})), gcontext)
 24106  	if ccontext == uintptr(0) {
 24107  		return uintptr(0)
 24108  	}
 24109  	*(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)) = X_pcre2_default_compile_context_8
 24110  	if gcontext != uintptr(0) {
 24111  		*(*Tpcre2_memctl)(unsafe.Pointer(ccontext)) = *(*Tpcre2_memctl)(unsafe.Pointer(gcontext))
 24112  	}
 24113  	return ccontext
 24114  }
 24115  
 24116  // A default match context is set up to save having to initialize at run time
 24117  // when no context is supplied to a match function.
 24118  
 24119  var X_pcre2_default_match_context_8 = Tpcre2_match_context_8{
 24120  	Fmemctl:       Tpcre2_memctl{Fmalloc: 0, Ffree: 0}, // Substitute callout data
 24121  	Foffset_limit: libc.CplUint64(uint64(0)),
 24122  	Fheap_limit:   Tuint32_t(DHEAP_LIMIT),
 24123  	Fmatch_limit:  Tuint32_t(DMATCH_LIMIT),
 24124  	Fdepth_limit:  Tuint32_t(DMATCH_LIMIT)} /* pcre2_context.c:163:27 */
 24125  
 24126  // The create function copies the default into the new memory, but must
 24127  // override the default memory handling functions if a gcontext was provided.
 24128  
 24129  func Xpcre2_match_context_create_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:181:36: */
 24130  	var mcontext uintptr = X_pcre2_memctl_malloc_8(tls,
 24131  		uint64(unsafe.Sizeof(Tpcre2_real_match_context_8{})), gcontext)
 24132  	if mcontext == uintptr(0) {
 24133  		return uintptr(0)
 24134  	}
 24135  	*(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)) = X_pcre2_default_match_context_8
 24136  	if gcontext != uintptr(0) {
 24137  		*(*Tpcre2_memctl)(unsafe.Pointer(mcontext)) = *(*Tpcre2_memctl)(unsafe.Pointer(gcontext))
 24138  	}
 24139  	return mcontext
 24140  }
 24141  
 24142  // A default convert context is set up to save having to initialize at run time
 24143  // when no context is supplied to the convert function.
 24144  
 24145  var X_pcre2_default_convert_context_8 = Tpcre2_convert_context_8{
 24146  	Fmemctl:         Tpcre2_memctl{Fmalloc: 0, Ffree: 0}, // Default memory handling
 24147  	Fglob_separator: Tuint32_t('\057'),                   // Default path separator
 24148  	Fglob_escape:    Tuint32_t('\134'),                   // Default escape character
 24149  } /* pcre2_context.c:197:29 */
 24150  
 24151  // The create function copies the default into the new memory, but must
 24152  // override the default memory handling functions if a gcontext was provided.
 24153  
 24154  func Xpcre2_convert_context_create_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:211:38: */
 24155  	var ccontext uintptr = X_pcre2_memctl_malloc_8(tls,
 24156  		uint64(unsafe.Sizeof(Tpcre2_real_convert_context_8{})), gcontext)
 24157  	if ccontext == uintptr(0) {
 24158  		return uintptr(0)
 24159  	}
 24160  	*(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)) = X_pcre2_default_convert_context_8
 24161  	if gcontext != uintptr(0) {
 24162  		*(*Tpcre2_memctl)(unsafe.Pointer(ccontext)) = *(*Tpcre2_memctl)(unsafe.Pointer(gcontext))
 24163  	}
 24164  	return ccontext
 24165  }
 24166  
 24167  // ************************************************
 24168  //
 24169  //              Context copy functions            *
 24170  //
 24171  
 24172  func Xpcre2_general_context_copy_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_context.c:228:38: */
 24173  	var new uintptr = (*struct {
 24174  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24175  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmalloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_general_context_8{})),
 24176  		(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data)
 24177  	if new == uintptr(0) {
 24178  		return uintptr(0)
 24179  	}
 24180  	libc.Xmemcpy(tls, new, gcontext, uint64(unsafe.Sizeof(Tpcre2_real_general_context_8{})))
 24181  	return new
 24182  }
 24183  
 24184  func Xpcre2_compile_context_copy_8(tls *libc.TLS, ccontext uintptr) uintptr { /* pcre2_context.c:240:38: */
 24185  	var new uintptr = (*struct {
 24186  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24187  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_compile_context_8{})),
 24188  		(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 24189  	if new == uintptr(0) {
 24190  		return uintptr(0)
 24191  	}
 24192  	libc.Xmemcpy(tls, new, ccontext, uint64(unsafe.Sizeof(Tpcre2_real_compile_context_8{})))
 24193  	return new
 24194  }
 24195  
 24196  func Xpcre2_match_context_copy_8(tls *libc.TLS, mcontext uintptr) uintptr { /* pcre2_context.c:252:36: */
 24197  	var new uintptr = (*struct {
 24198  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24199  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl.Fmalloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_match_context_8{})),
 24200  		(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl.Fmemory_data)
 24201  	if new == uintptr(0) {
 24202  		return uintptr(0)
 24203  	}
 24204  	libc.Xmemcpy(tls, new, mcontext, uint64(unsafe.Sizeof(Tpcre2_real_match_context_8{})))
 24205  	return new
 24206  }
 24207  
 24208  func Xpcre2_convert_context_copy_8(tls *libc.TLS, ccontext uintptr) uintptr { /* pcre2_context.c:265:38: */
 24209  	var new uintptr = (*struct {
 24210  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 24211  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmalloc})).f(tls, uint64(unsafe.Sizeof(Tpcre2_real_convert_context_8{})),
 24212  		(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 24213  	if new == uintptr(0) {
 24214  		return uintptr(0)
 24215  	}
 24216  	libc.Xmemcpy(tls, new, ccontext, uint64(unsafe.Sizeof(Tpcre2_real_convert_context_8{})))
 24217  	return new
 24218  }
 24219  
 24220  // ************************************************
 24221  //
 24222  //              Context free functions            *
 24223  //
 24224  
 24225  func Xpcre2_general_context_free_8(tls *libc.TLS, gcontext uintptr) { /* pcre2_context.c:282:1: */
 24226  	if gcontext != uintptr(0) {
 24227  		(*struct {
 24228  			f func(*libc.TLS, uintptr, uintptr)
 24229  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Ffree})).f(tls, gcontext, (*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data)
 24230  	}
 24231  }
 24232  
 24233  func Xpcre2_compile_context_free_8(tls *libc.TLS, ccontext uintptr) { /* pcre2_context.c:290:1: */
 24234  	if ccontext != uintptr(0) {
 24235  		(*struct {
 24236  			f func(*libc.TLS, uintptr, uintptr)
 24237  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, ccontext, (*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 24238  	}
 24239  }
 24240  
 24241  func Xpcre2_match_context_free_8(tls *libc.TLS, mcontext uintptr) { /* pcre2_context.c:298:1: */
 24242  	if mcontext != uintptr(0) {
 24243  		(*struct {
 24244  			f func(*libc.TLS, uintptr, uintptr)
 24245  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl.Ffree})).f(tls, mcontext, (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl.Fmemory_data)
 24246  	}
 24247  }
 24248  
 24249  func Xpcre2_convert_context_free_8(tls *libc.TLS, ccontext uintptr) { /* pcre2_context.c:306:1: */
 24250  	if ccontext != uintptr(0) {
 24251  		(*struct {
 24252  			f func(*libc.TLS, uintptr, uintptr)
 24253  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Ffree})).f(tls, ccontext, (*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fmemctl.Fmemory_data)
 24254  	}
 24255  }
 24256  
 24257  // ************************************************
 24258  //
 24259  //             Set values in contexts             *
 24260  //
 24261  
 24262  // All these functions return 0 for success or PCRE2_ERROR_BADDATA if invalid
 24263  // data is given. Only some of the functions are able to test the validity of the
 24264  // data.
 24265  
 24266  // ------------ Compile context ------------
 24267  
 24268  func Xpcre2_set_character_tables_8(tls *libc.TLS, ccontext uintptr, tables uintptr) int32 { /* pcre2_context.c:325:1: */
 24269  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Ftables = tables
 24270  	return 0
 24271  }
 24272  
 24273  func Xpcre2_set_bsr_8(tls *libc.TLS, ccontext uintptr, value Tuint32_t) int32 { /* pcre2_context.c:333:1: */
 24274  	switch value {
 24275  	case Tuint32_t(DPCRE2_BSR_ANYCRLF):
 24276  		fallthrough
 24277  	case Tuint32_t(DPCRE2_BSR_UNICODE):
 24278  		(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fbsr_convention = Tuint16_t(value)
 24279  		return 0
 24280  
 24281  	default:
 24282  		return -29
 24283  	}
 24284  	return int32(0)
 24285  }
 24286  
 24287  func Xpcre2_set_max_pattern_length_8(tls *libc.TLS, ccontext uintptr, length Tsize_t) int32 { /* pcre2_context.c:348:1: */
 24288  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fmax_pattern_length = length
 24289  	return 0
 24290  }
 24291  
 24292  func Xpcre2_set_newline_8(tls *libc.TLS, ccontext uintptr, newline Tuint32_t) int32 { /* pcre2_context.c:355:1: */
 24293  	switch newline {
 24294  	case Tuint32_t(DPCRE2_NEWLINE_CR):
 24295  		fallthrough
 24296  	case Tuint32_t(DPCRE2_NEWLINE_LF):
 24297  		fallthrough
 24298  	case Tuint32_t(DPCRE2_NEWLINE_CRLF):
 24299  		fallthrough
 24300  	case Tuint32_t(DPCRE2_NEWLINE_ANY):
 24301  		fallthrough
 24302  	case Tuint32_t(DPCRE2_NEWLINE_ANYCRLF):
 24303  		fallthrough
 24304  	case Tuint32_t(DPCRE2_NEWLINE_NUL):
 24305  		(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fnewline_convention = Tuint16_t(newline)
 24306  		return 0
 24307  
 24308  	default:
 24309  		return -29
 24310  	}
 24311  	return int32(0)
 24312  }
 24313  
 24314  func Xpcre2_set_parens_nest_limit_8(tls *libc.TLS, ccontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:374:1: */
 24315  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fparens_nest_limit = limit
 24316  	return 0
 24317  }
 24318  
 24319  func Xpcre2_set_compile_extra_options_8(tls *libc.TLS, ccontext uintptr, options Tuint32_t) int32 { /* pcre2_context.c:381:1: */
 24320  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fextra_options = options
 24321  	return 0
 24322  }
 24323  
 24324  func Xpcre2_set_compile_recursion_guard_8(tls *libc.TLS, ccontext uintptr, guard uintptr, user_data uintptr) int32 { /* pcre2_context.c:388:1: */
 24325  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fstack_guard = guard
 24326  	(*Tpcre2_compile_context_8)(unsafe.Pointer(ccontext)).Fstack_guard_data = user_data
 24327  	return 0
 24328  }
 24329  
 24330  // ------------ Match context ------------
 24331  
 24332  func Xpcre2_set_callout_8(tls *libc.TLS, mcontext uintptr, callout uintptr, callout_data uintptr) int32 { /* pcre2_context.c:400:1: */
 24333  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout = callout
 24334  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout_data = callout_data
 24335  	return 0
 24336  }
 24337  
 24338  func Xpcre2_set_substitute_callout_8(tls *libc.TLS, mcontext uintptr, substitute_callout uintptr, substitute_callout_data uintptr) int32 { /* pcre2_context.c:409:1: */
 24339  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout = substitute_callout
 24340  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout_data = substitute_callout_data
 24341  	return 0
 24342  }
 24343  
 24344  func Xpcre2_set_heap_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:419:1: */
 24345  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit = limit
 24346  	return 0
 24347  }
 24348  
 24349  func Xpcre2_set_match_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:426:1: */
 24350  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit = limit
 24351  	return 0
 24352  }
 24353  
 24354  func Xpcre2_set_depth_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:433:1: */
 24355  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit = limit
 24356  	return 0
 24357  }
 24358  
 24359  func Xpcre2_set_offset_limit_8(tls *libc.TLS, mcontext uintptr, limit Tsize_t) int32 { /* pcre2_context.c:440:1: */
 24360  	(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit = limit
 24361  	return 0
 24362  }
 24363  
 24364  // This function became obsolete at release 10.30. It is kept as a synonym for
 24365  // backwards compatibility.
 24366  
 24367  func Xpcre2_set_recursion_limit_8(tls *libc.TLS, mcontext uintptr, limit Tuint32_t) int32 { /* pcre2_context.c:450:1: */
 24368  	return Xpcre2_set_depth_limit_8(tls, mcontext, limit)
 24369  }
 24370  
 24371  func Xpcre2_set_recursion_memory_management_8(tls *libc.TLS, mcontext uintptr, mymalloc uintptr, myfree uintptr, mydata uintptr) int32 { /* pcre2_context.c:456:1: */
 24372  	_ = mcontext
 24373  	_ = mymalloc
 24374  	_ = myfree
 24375  	_ = mydata
 24376  	return 0
 24377  }
 24378  
 24379  // ------------ Convert context ------------
 24380  
 24381  func Xpcre2_set_glob_separator_8(tls *libc.TLS, ccontext uintptr, separator Tuint32_t) int32 { /* pcre2_context.c:470:1: */
 24382  	if separator != Tuint32_t('\057') && separator != Tuint32_t('\134') && separator != Tuint32_t('\056') {
 24383  		return -29
 24384  	}
 24385  	(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_separator = separator
 24386  	return 0
 24387  }
 24388  
 24389  func Xpcre2_set_glob_escape_8(tls *libc.TLS, ccontext uintptr, escape Tuint32_t) int32 { /* pcre2_context.c:479:1: */
 24390  	if escape > Tuint32_t(255) || escape != Tuint32_t(0) && !(int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(escape))*2)))&int32(_ISpunct) != 0) {
 24391  		return -29
 24392  	}
 24393  	(*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_escape = escape
 24394  	return 0
 24395  }
 24396  
 24397  // End of pcre2_context.c
 24398  
 24399  // Macro to add a character string to the output buffer, checking for overflow.
 24400  
 24401  // Literals that must be escaped: \ ? * + | . ^ $ { } [ ] ( )
 24402  
 24403  var pcre2_escaped_literals uintptr = ts + 665 /* "\\?*+|.^${}[]()" */ /* pcre2_convert.c:87:19 */
 24404  
 24405  // Recognized escaped metacharacters in POSIX basic patterns.
 24406  
 24407  var posix_meta_escapes uintptr = ts + 680 /* "(){}123456789" */ /* pcre2_convert.c:96:19 */
 24408  
 24409  // ************************************************
 24410  //
 24411  //           Convert a POSIX pattern              *
 24412  //
 24413  
 24414  // This function handles both basic and extended POSIX patterns.
 24415  //
 24416  // Arguments:
 24417  //   pattype        the pattern type
 24418  //   pattern        the pattern
 24419  //   plength        length in code units
 24420  //   utf            TRUE if UTF
 24421  //   use_buffer     where to put the output
 24422  //   use_length     length of use_buffer
 24423  //   bufflenptr     where to put the used length
 24424  //   dummyrun       TRUE if a dummy run
 24425  //   ccontext       the convert context
 24426  //
 24427  // Returns:         0 => success
 24428  //                 !0 => error code
 24429  
 24430  func convert_posix(tls *libc.TLS, pattype Tuint32_t, pattern TPCRE2_SPTR8, plength Tsize_t, utf TBOOL, use_buffer uintptr, use_length Tsize_t, bufflenptr uintptr, dummyrun TBOOL, ccontext uintptr) int32 { /* pcre2_convert.c:125:1: */
 24431  	var s uintptr
 24432  	var posix TPCRE2_SPTR8
 24433  	var p uintptr
 24434  	var pp uintptr
 24435  	var endp uintptr // Allow for trailing zero
 24436  	var convlength Tsize_t
 24437  	var bracount Tuint32_t
 24438  	var posix_state Tuint32_t
 24439  	var lastspecial Tuint32_t
 24440  	var extended TBOOL
 24441  	var nextisliteral TBOOL
 24442  	var c Tuint32_t
 24443  	var sc Tuint32_t
 24444  	var clength int32
 24445  	posix = pattern
 24446  	p = use_buffer
 24447  	pp = p
 24448  	endp = p + uintptr(use_length) - uintptr(1)
 24449  	convlength = uint64(0)
 24450  	bracount = Tuint32_t(0)
 24451  	posix_state = POSIX_START_REGEX
 24452  	lastspecial = Tuint32_t(0)
 24453  	extended = libc.Bool32(pattype&DPCRE2_CONVERT_POSIX_EXTENDED != Tuint32_t(0))
 24454  	nextisliteral = DFALSE
 24455  
 24456  	_ = utf      // Not used when Unicode not supported
 24457  	_ = ccontext // Not currently used
 24458  
 24459  	// Initialize default for error offset as end of input.
 24460  
 24461  	*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = plength
 24462  	s = ts + 694
 24463  __1:
 24464  	if !(int32(*(*uint8)(unsafe.Pointer(s))) != 0) {
 24465  		goto __3
 24466  	}
 24467  	if !(p >= endp) {
 24468  		goto __4
 24469  	}
 24470  	return -48
 24471  __4:
 24472  	;
 24473  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*uint8)(unsafe.Pointer(s)))
 24474  	goto __2
 24475  __2:
 24476  	s++
 24477  	goto __1
 24478  	goto __3
 24479  __3:
 24480  	;
 24481  
 24482  	// Now scan the input.
 24483  
 24484  __5:
 24485  	if !(plength > uint64(0)) {
 24486  		goto __6
 24487  	}
 24488  	clength = 1
 24489  
 24490  	// Add in the length of the last item, then, if in the dummy run, pull the
 24491  	//   pointer back to the start of the (temporary) buffer and then remember the
 24492  	//   start of the next item.
 24493  
 24494  	convlength = convlength + Tsize_t((int64(p)-int64(pp))/1)
 24495  	if !(dummyrun != 0) {
 24496  		goto __7
 24497  	}
 24498  	p = use_buffer
 24499  __7:
 24500  	;
 24501  	pp = p
 24502  
 24503  	// Pick up the next character
 24504  
 24505  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix)))
 24506  	if !(utf != 0 && c >= 0xc0) {
 24507  		goto __8
 24508  	}
 24509  	if !(c&0x20 == Tuint32_t(0)) {
 24510  		goto __9
 24511  	}
 24512  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f
 24513  	clength++
 24514  	goto __10
 24515  __9:
 24516  	if !(c&0x10 == Tuint32_t(0)) {
 24517  		goto __11
 24518  	}
 24519  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 2)))&0x3f
 24520  	clength = clength + 2
 24521  	goto __12
 24522  __11:
 24523  	if !(c&0x08 == Tuint32_t(0)) {
 24524  		goto __13
 24525  	}
 24526  	c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 3)))&0x3f
 24527  	clength = clength + 3
 24528  	goto __14
 24529  __13:
 24530  	if !(c&0x04 == Tuint32_t(0)) {
 24531  		goto __15
 24532  	}
 24533  	c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 4)))&0x3f
 24534  	clength = clength + 4
 24535  	goto __16
 24536  __15:
 24537  	c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix + 5)))&0x3f
 24538  	clength = clength + 5
 24539  __16:
 24540  	;
 24541  __14:
 24542  	;
 24543  __12:
 24544  	;
 24545  __10:
 24546  	;
 24547  __8:
 24548  	;
 24549  
 24550  	posix += TPCRE2_SPTR8(clength)
 24551  	plength = plength - Tsize_t(clength)
 24552  
 24553  	if nextisliteral != 0 {
 24554  		sc = uint32(0)
 24555  	} else {
 24556  		sc = c
 24557  	}
 24558  	nextisliteral = DFALSE
 24559  
 24560  	// Handle a character within a class.
 24561  
 24562  	if !(posix_state >= POSIX_CLASS_NOT_STARTED) {
 24563  		goto __17
 24564  	}
 24565  
 24566  	if !(c == Tuint32_t('\135')) {
 24567  		goto __19
 24568  	}
 24569  
 24570  	s = ts + 701
 24571  __21:
 24572  	if !(int32(*(*uint8)(unsafe.Pointer(s))) != 0) {
 24573  		goto __23
 24574  	}
 24575  	if !(p >= endp) {
 24576  		goto __24
 24577  	}
 24578  	return -48
 24579  __24:
 24580  	;
 24581  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*uint8)(unsafe.Pointer(s)))
 24582  	goto __22
 24583  __22:
 24584  	s++
 24585  	goto __21
 24586  	goto __23
 24587  __23:
 24588  	;
 24589  
 24590  	posix_state = POSIX_NOT_BRACKET
 24591  	goto __20
 24592  __19:
 24593  
 24594  	switch posix_state {
 24595  	case POSIX_CLASS_STARTED:
 24596  		goto __26
 24597  	// Fall through
 24598  
 24599  	case POSIX_CLASS_NOT_STARTED:
 24600  		goto __27
 24601  
 24602  	case POSIX_CLASS_STARTING:
 24603  		goto __28
 24604  	}
 24605  	goto __25
 24606  
 24607  __26:
 24608  	if !(c <= Tuint32_t(127) && int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2)))&int32(_ISlower) != 0) {
 24609  		goto __29
 24610  	}
 24611  	goto __25
 24612  __29:
 24613  	; // Remain in started state
 24614  	posix_state = POSIX_CLASS_NOT_STARTED
 24615  	if !(c == Tuint32_t('\072') && plength > uint64(0) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) == '\135') {
 24616  		goto __30
 24617  	}
 24618  
 24619  	s = ts + 703
 24620  __31:
 24621  	if !(int32(*(*uint8)(unsafe.Pointer(s))) != 0) {
 24622  		goto __33
 24623  	}
 24624  	if !(p >= endp) {
 24625  		goto __34
 24626  	}
 24627  	return -48
 24628  __34:
 24629  	;
 24630  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*uint8)(unsafe.Pointer(s)))
 24631  	goto __32
 24632  __32:
 24633  	s++
 24634  	goto __31
 24635  	goto __33
 24636  __33:
 24637  	;
 24638  
 24639  	plength--
 24640  	posix++
 24641  	goto __5 // With next character after :]
 24642  __30:
 24643  	;
 24644  	// Fall through
 24645  
 24646  __27:
 24647  	if !(c == Tuint32_t('\133')) {
 24648  		goto __35
 24649  	}
 24650  	posix_state = POSIX_CLASS_STARTING
 24651  __35:
 24652  	;
 24653  	goto __25
 24654  
 24655  __28:
 24656  	if !(c == Tuint32_t('\072')) {
 24657  		goto __36
 24658  	}
 24659  	posix_state = POSIX_CLASS_STARTED
 24660  __36:
 24661  	;
 24662  	goto __25
 24663  __25:
 24664  	;
 24665  
 24666  	if !(c == Tuint32_t('\134')) {
 24667  		goto __37
 24668  	}
 24669  	s = ts + 706
 24670  __38:
 24671  	if !(int32(*(*uint8)(unsafe.Pointer(s))) != 0) {
 24672  		goto __40
 24673  	}
 24674  	if !(p >= endp) {
 24675  		goto __41
 24676  	}
 24677  	return -48
 24678  __41:
 24679  	;
 24680  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*uint8)(unsafe.Pointer(s)))
 24681  	goto __39
 24682  __39:
 24683  	s++
 24684  	goto __38
 24685  	goto __40
 24686  __40:
 24687  	;
 24688  __37:
 24689  	;
 24690  
 24691  	if !(p+uintptr(clength) > endp) {
 24692  		goto __42
 24693  	}
 24694  	return -48
 24695  __42:
 24696  	;
 24697  	libc.Xmemcpy(tls, p, posix-uintptr(clength), uint64(clength*(DPCRE2_CODE_UNIT_WIDTH/8)))
 24698  	p += uintptr(clength)
 24699  __20:
 24700  	;
 24701  	goto __18
 24702  __17:
 24703  	switch sc {
 24704  	case Tuint32_t('\133'):
 24705  		goto __44
 24706  
 24707  	case Tuint32_t('\134'):
 24708  		goto __45
 24709  
 24710  	case Tuint32_t('\051'):
 24711  		goto __46
 24712  
 24713  	case Tuint32_t('\050'):
 24714  		goto __47
 24715  	// Fall through
 24716  
 24717  	case Tuint32_t('\077'):
 24718  		goto __48
 24719  	case Tuint32_t('\053'):
 24720  		goto __49
 24721  	case Tuint32_t('\173'):
 24722  		goto __50
 24723  	case Tuint32_t('\175'):
 24724  		goto __51
 24725  	case Tuint32_t('\174'):
 24726  		goto __52
 24727  	// Fall through
 24728  
 24729  	case Tuint32_t('\056'):
 24730  		goto __53
 24731  	case Tuint32_t('\044'):
 24732  		goto __54
 24733  
 24734  	case Tuint32_t('\052'):
 24735  		goto __55 // Ignore second and subsequent asterisks
 24736  
 24737  	case Tuint32_t('\136'):
 24738  		goto __56
 24739  	// Fall through
 24740  
 24741  	default:
 24742  		goto __57
 24743  	}
 24744  	goto __43
 24745  
 24746  __44:
 24747  	s = ts + 708
 24748  __58:
 24749  	if !(int32(*(*uint8)(unsafe.Pointer(s))) != 0) {
 24750  		goto __60
 24751  	}
 24752  	if !(p >= endp) {
 24753  		goto __61
 24754  	}
 24755  	return -48
 24756  __61:
 24757  	;
 24758  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*uint8)(unsafe.Pointer(s)))
 24759  	goto __59
 24760  __59:
 24761  	s++
 24762  	goto __58
 24763  	goto __60
 24764  __60:
 24765  	;
 24766  
 24767  	// Handle start of "normal" character classes
 24768  
 24769  	posix_state = POSIX_CLASS_NOT_STARTED
 24770  
 24771  	// Handle ^ and ] as first characters
 24772  
 24773  	if !(plength > uint64(0)) {
 24774  		goto __62
 24775  	}
 24776  
 24777  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) == '\136') {
 24778  		goto __63
 24779  	}
 24780  
 24781  	posix++
 24782  	plength--
 24783  	s = ts + 710
 24784  __64:
 24785  	if !(int32(*(*uint8)(unsafe.Pointer(s))) != 0) {
 24786  		goto __66
 24787  	}
 24788  	if !(p >= endp) {
 24789  		goto __67
 24790  	}
 24791  	return -48
 24792  __67:
 24793  	;
 24794  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*uint8)(unsafe.Pointer(s)))
 24795  	goto __65
 24796  __65:
 24797  	s++
 24798  	goto __64
 24799  	goto __66
 24800  __66:
 24801  	;
 24802  
 24803  __63:
 24804  	;
 24805  	if !(plength > uint64(0) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) == '\135') {
 24806  		goto __68
 24807  	}
 24808  
 24809  	posix++
 24810  	plength--
 24811  	s = ts + 701
 24812  __69:
 24813  	if !(int32(*(*uint8)(unsafe.Pointer(s))) != 0) {
 24814  		goto __71
 24815  	}
 24816  	if !(p >= endp) {
 24817  		goto __72
 24818  	}
 24819  	return -48
 24820  __72:
 24821  	;
 24822  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*uint8)(unsafe.Pointer(s)))
 24823  	goto __70
 24824  __70:
 24825  	s++
 24826  	goto __69
 24827  	goto __71
 24828  __71:
 24829  	;
 24830  
 24831  __68:
 24832  	;
 24833  __62:
 24834  	;
 24835  	goto __43
 24836  
 24837  __45:
 24838  	if !(plength == uint64(0)) {
 24839  		goto __73
 24840  	}
 24841  	return DPCRE2_ERROR_END_BACKSLASH
 24842  __73:
 24843  	;
 24844  	if !(extended != 0) {
 24845  		goto __74
 24846  	}
 24847  	nextisliteral = DTRUE
 24848  	goto __75
 24849  __74:
 24850  
 24851  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))) < 127 && libc.Xstrchr(tls, posix_meta_escapes, int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix)))) != uintptr(0)) {
 24852  		goto __76
 24853  	}
 24854  
 24855  	if !(int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(posix))))*2)))&int32(_ISdigit) != 0) {
 24856  		goto __78
 24857  	}
 24858  	s = ts + 706
 24859  __79:
 24860  	if !(int32(*(*uint8)(unsafe.Pointer(s))) != 0) {
 24861  		goto __81
 24862  	}
 24863  	if !(p >= endp) {
 24864  		goto __82
 24865  	}
 24866  	return -48
 24867  __82:
 24868  	;
 24869  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*uint8)(unsafe.Pointer(s)))
 24870  	goto __80
 24871  __80:
 24872  	s++
 24873  	goto __79
 24874  	goto __81
 24875  __81:
 24876  	;
 24877  __78:
 24878  	;
 24879  
 24880  	if !(p+uintptr(1) > endp) {
 24881  		goto __83
 24882  	}
 24883  	return -48
 24884  __83:
 24885  	;
 24886  	lastspecial = Tuint32_t(libc.AssignPtrUint8(libc.PostIncUintptr(&p, 1), *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&posix, 1)))))
 24887  	plength--
 24888  	goto __77
 24889  __76:
 24890  	nextisliteral = DTRUE
 24891  __77:
 24892  	;
 24893  __75:
 24894  	;
 24895  	goto __43
 24896  
 24897  __46:
 24898  	if !(!(extended != 0) || bracount == Tuint32_t(0)) {
 24899  		goto __84
 24900  	}
 24901  	goto ESCAPE_LITERAL
 24902  __84:
 24903  	;
 24904  	bracount--
 24905  	goto COPY_SPECIAL
 24906  
 24907  __47:
 24908  	bracount++
 24909  	// Fall through
 24910  
 24911  __48:
 24912  __49:
 24913  __50:
 24914  __51:
 24915  __52:
 24916  	if !!(extended != 0) {
 24917  		goto __85
 24918  	}
 24919  	goto ESCAPE_LITERAL
 24920  __85:
 24921  	;
 24922  	// Fall through
 24923  
 24924  __53:
 24925  __54:
 24926  	posix_state = POSIX_NOT_BRACKET
 24927  COPY_SPECIAL:
 24928  	lastspecial = c
 24929  	if !(p+uintptr(1) > endp) {
 24930  		goto __86
 24931  	}
 24932  	return -48
 24933  __86:
 24934  	;
 24935  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(c)
 24936  	goto __43
 24937  
 24938  __55:
 24939  	if !(lastspecial != Tuint32_t('\052')) {
 24940  		goto __87
 24941  	}
 24942  
 24943  	if !(!(extended != 0) && (posix_state < POSIX_NOT_BRACKET || lastspecial == Tuint32_t('\050'))) {
 24944  		goto __88
 24945  	}
 24946  	goto ESCAPE_LITERAL
 24947  __88:
 24948  	;
 24949  	goto COPY_SPECIAL
 24950  __87:
 24951  	;
 24952  	goto __43 // Ignore second and subsequent asterisks
 24953  
 24954  __56:
 24955  	if !(extended != 0) {
 24956  		goto __89
 24957  	}
 24958  	goto COPY_SPECIAL
 24959  __89:
 24960  	;
 24961  	if !(posix_state == POSIX_START_REGEX || lastspecial == Tuint32_t('\050')) {
 24962  		goto __90
 24963  	}
 24964  
 24965  	posix_state = POSIX_ANCHORED
 24966  	goto COPY_SPECIAL
 24967  __90:
 24968  	;
 24969  	// Fall through
 24970  
 24971  __57:
 24972  	if !(c < Tuint32_t(128) && libc.Xstrchr(tls, pcre2_escaped_literals, int32(c)) != uintptr(0)) {
 24973  		goto __91
 24974  	}
 24975  
 24976  ESCAPE_LITERAL:
 24977  	s = ts + 706
 24978  __92:
 24979  	if !(int32(*(*uint8)(unsafe.Pointer(s))) != 0) {
 24980  		goto __94
 24981  	}
 24982  	if !(p >= endp) {
 24983  		goto __95
 24984  	}
 24985  	return -48
 24986  __95:
 24987  	;
 24988  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(*(*uint8)(unsafe.Pointer(s)))
 24989  	goto __93
 24990  __93:
 24991  	s++
 24992  	goto __92
 24993  	goto __94
 24994  __94:
 24995  	;
 24996  
 24997  __91:
 24998  	;
 24999  	lastspecial = Tuint32_t(0xff) // Indicates nothing special
 25000  	if !(p+uintptr(clength) > endp) {
 25001  		goto __96
 25002  	}
 25003  	return -48
 25004  __96:
 25005  	;
 25006  	libc.Xmemcpy(tls, p, posix-uintptr(clength), uint64(clength*(DPCRE2_CODE_UNIT_WIDTH/8)))
 25007  	p += uintptr(clength)
 25008  	posix_state = POSIX_NOT_BRACKET
 25009  	goto __43
 25010  __43:
 25011  	;
 25012  __18:
 25013  	;
 25014  	goto __5
 25015  __6:
 25016  	;
 25017  
 25018  	if !(posix_state >= POSIX_CLASS_NOT_STARTED) {
 25019  		goto __97
 25020  	}
 25021  	return DPCRE2_ERROR_MISSING_SQUARE_BRACKET
 25022  __97:
 25023  	;
 25024  	convlength = convlength + Tsize_t((int64(p)-int64(pp))/1) // Final segment
 25025  	*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = convlength
 25026  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = TPCRE2_UCHAR8(0)
 25027  	return 0
 25028  }
 25029  
 25030  // ************************************************
 25031  //
 25032  //           Convert a glob pattern               *
 25033  //
 25034  
 25035  // Context for writing the output into a buffer.
 25036  
 25037  type Spcre2_output_context = struct {
 25038  	Foutput      uintptr
 25039  	Foutput_end  TPCRE2_SPTR8
 25040  	Foutput_size Tsize_t
 25041  	Fout_str     [8]Tuint8_t
 25042  } /* pcre2_convert.c:369:9 */
 25043  
 25044  // ************************************************
 25045  //
 25046  //           Convert a glob pattern               *
 25047  //
 25048  
 25049  // Context for writing the output into a buffer.
 25050  
 25051  type Tpcre2_output_context = Spcre2_output_context /* pcre2_convert.c:374:3 */
 25052  
 25053  // Write a character into the output.
 25054  //
 25055  // Arguments:
 25056  //   out            output context
 25057  //   chr            the next character
 25058  
 25059  func convert_glob_write(tls *libc.TLS, out uintptr, chr TPCRE2_UCHAR8) { /* pcre2_convert.c:385:1: */
 25060  	(*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_size++
 25061  
 25062  	if (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput < (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_end {
 25063  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput, 1))) = chr
 25064  	}
 25065  }
 25066  
 25067  // Write a string into the output.
 25068  //
 25069  // Arguments:
 25070  //   out            output context
 25071  //   length         length of out->out_str
 25072  
 25073  func convert_glob_write_str(tls *libc.TLS, out uintptr, length Tsize_t) { /* pcre2_convert.c:402:1: */
 25074  	var out_str uintptr = out + 24 /* &.out_str */
 25075  	var output uintptr = (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput
 25076  	var output_end TPCRE2_SPTR8 = (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_end
 25077  	var output_size Tsize_t = (*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_size
 25078  
 25079  	for __ccgo := true; __ccgo; __ccgo = libc.PreDecUint64(&length, 1) != uint64(0) {
 25080  		output_size++
 25081  
 25082  		if output < output_end {
 25083  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&output, 1))) = *(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&out_str, 1)))
 25084  		}
 25085  	}
 25086  
 25087  	(*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput = output
 25088  	(*Tpcre2_output_context)(unsafe.Pointer(out)).Foutput_size = output_size
 25089  }
 25090  
 25091  // Prints the separator into the output.
 25092  //
 25093  // Arguments:
 25094  //   out            output context
 25095  //   separator      glob separator
 25096  //   with_escape    backslash is needed before separator
 25097  
 25098  func convert_glob_print_separator(tls *libc.TLS, out uintptr, separator TPCRE2_UCHAR8, with_escape TBOOL) { /* pcre2_convert.c:432:1: */
 25099  	if with_escape != 0 {
 25100  		convert_glob_write(tls, out, uint8('\134'))
 25101  	}
 25102  
 25103  	convert_glob_write(tls, out, separator)
 25104  }
 25105  
 25106  // Prints a wildcard into the output.
 25107  //
 25108  // Arguments:
 25109  //   out            output context
 25110  //   separator      glob separator
 25111  //   with_escape    backslash is needed before separator
 25112  
 25113  func convert_glob_print_wildcard(tls *libc.TLS, out uintptr, separator TPCRE2_UCHAR8, with_escape TBOOL) { /* pcre2_convert.c:451:1: */
 25114  	*(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\133')
 25115  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\136')
 25116  	convert_glob_write_str(tls, out, uint64(2))
 25117  
 25118  	convert_glob_print_separator(tls, out, separator, with_escape)
 25119  
 25120  	convert_glob_write(tls, out, uint8('\135'))
 25121  }
 25122  
 25123  // Parse a posix class.
 25124  //
 25125  // Arguments:
 25126  //   from           starting point of scanning the range
 25127  //   pattern_end    end of pattern
 25128  //   out            output context
 25129  //
 25130  // Returns:  >0 => class index
 25131  //           0  => malformed class
 25132  
 25133  func convert_glob_parse_class(tls *libc.TLS, from uintptr, pattern_end TPCRE2_SPTR8, out uintptr) int32 { /* pcre2_convert.c:476:1: */
 25134  	var start TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(from)) + uintptr(1)
 25135  	var pattern TPCRE2_SPTR8 = start
 25136  	var class_ptr uintptr
 25137  	var c TPCRE2_UCHAR8
 25138  	var class_index int32
 25139  
 25140  	for 1 != 0 {
 25141  		if pattern >= pattern_end {
 25142  			return 0
 25143  		}
 25144  
 25145  		c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1)))
 25146  
 25147  		if int32(c) < '\141' || int32(c) > '\172' {
 25148  			break
 25149  		}
 25150  	}
 25151  
 25152  	if int32(c) != '\072' || pattern >= pattern_end || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) != '\135' {
 25153  		return 0
 25154  	}
 25155  
 25156  	class_ptr = posix_classes
 25157  	class_index = 1
 25158  
 25159  	for 1 != 0 {
 25160  		if int32(*(*uint8)(unsafe.Pointer(class_ptr))) == 0 {
 25161  			return 0
 25162  		}
 25163  
 25164  		pattern = start
 25165  
 25166  		for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == int32(TPCRE2_UCHAR8(*(*uint8)(unsafe.Pointer(class_ptr)))) {
 25167  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\072' {
 25168  				pattern += uintptr(2)
 25169  				start -= uintptr(2)
 25170  
 25171  				for __ccgo := true; __ccgo; __ccgo = start < pattern {
 25172  					convert_glob_write(tls, out, *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&start, 1))))
 25173  				}
 25174  
 25175  				*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25176  				return class_index
 25177  			}
 25178  			pattern++
 25179  			class_ptr++
 25180  		}
 25181  
 25182  		for int32(*(*uint8)(unsafe.Pointer(class_ptr))) != '\072' {
 25183  			class_ptr++
 25184  		}
 25185  		class_ptr++
 25186  		class_index++
 25187  	}
 25188  	return int32(0)
 25189  }
 25190  
 25191  var posix_classes uintptr = ts + 712 /* "alnum:alpha:asci..." */ /* pcre2_convert.c:479:19 */
 25192  
 25193  // Checks whether the character is in the class.
 25194  //
 25195  // Arguments:
 25196  //   class_index    class index
 25197  //   c              character
 25198  //
 25199  // Returns:   !0 => character is found in the class
 25200  //             0 => otherwise
 25201  
 25202  func convert_glob_char_in_class(tls *libc.TLS, class_index int32, c TPCRE2_UCHAR8) TBOOL { /* pcre2_convert.c:542:1: */
 25203  	switch class_index {
 25204  	case 1:
 25205  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISalnum)
 25206  	case 2:
 25207  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISalpha)
 25208  	case 3:
 25209  		return 1
 25210  	case 4:
 25211  		return libc.Bool32(int32(c) == '\011' || int32(c) == '\040')
 25212  	case 5:
 25213  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_IScntrl)
 25214  	case 6:
 25215  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISdigit)
 25216  	case 7:
 25217  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISgraph)
 25218  	case 8:
 25219  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISlower)
 25220  	case 9:
 25221  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISprint)
 25222  	case 10:
 25223  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISpunct)
 25224  	case 11:
 25225  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISspace)
 25226  	case 12:
 25227  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISupper)
 25228  	case 13:
 25229  		return libc.Bool32(int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2)))&int32(_ISalnum) != 0 || int32(c) == '\137')
 25230  	default:
 25231  		return int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(int32(c))*2))) & int32(_ISxdigit)
 25232  	}
 25233  	return TBOOL(0)
 25234  }
 25235  
 25236  // Parse a range of characters.
 25237  //
 25238  // Arguments:
 25239  //   from           starting point of scanning the range
 25240  //   pattern_end    end of pattern
 25241  //   out            output context
 25242  //   separator      glob separator
 25243  //   with_escape    backslash is needed before separator
 25244  //
 25245  // Returns:         0 => success
 25246  //                 !0 => error code
 25247  
 25248  func convert_glob_parse_range(tls *libc.TLS, from uintptr, pattern_end TPCRE2_SPTR8, out uintptr, utf TBOOL, separator TPCRE2_UCHAR8, with_escape TBOOL, escape TPCRE2_UCHAR8, no_wildsep TBOOL) int32 { /* pcre2_convert.c:577:1: */
 25249  	var is_negative TBOOL = DFALSE
 25250  	var separator_seen TBOOL = DFALSE
 25251  	var has_prev_c TBOOL
 25252  	var pattern TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(from))
 25253  	var char_start TPCRE2_SPTR8 = uintptr(0)
 25254  	var c Tuint32_t
 25255  	var prev_c Tuint32_t
 25256  	var len int32
 25257  	var class_index int32
 25258  
 25259  	_ = utf // Avoid compiler warning.
 25260  
 25261  	if pattern >= pattern_end {
 25262  		*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25263  		return DPCRE2_ERROR_MISSING_SQUARE_BRACKET
 25264  	}
 25265  
 25266  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\041' ||
 25267  		int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\136' {
 25268  		pattern++
 25269  
 25270  		if pattern >= pattern_end {
 25271  			*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25272  			return DPCRE2_ERROR_MISSING_SQUARE_BRACKET
 25273  		}
 25274  
 25275  		is_negative = DTRUE
 25276  
 25277  		*(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\133')
 25278  		*(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\136')
 25279  		len = 2
 25280  
 25281  		if !(no_wildsep != 0) {
 25282  			if with_escape != 0 {
 25283  				*(*Tuint8_t)(unsafe.Pointer(out + 24 + uintptr(len))) = Tuint8_t('\134')
 25284  				len++
 25285  			}
 25286  			*(*Tuint8_t)(unsafe.Pointer(out + 24 + uintptr(len))) = separator
 25287  		}
 25288  
 25289  		convert_glob_write_str(tls, out, uint64(len+1))
 25290  	} else {
 25291  		convert_glob_write(tls, out, uint8('\133'))
 25292  	}
 25293  
 25294  	has_prev_c = DFALSE
 25295  	prev_c = Tuint32_t(0)
 25296  
 25297  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\135' {
 25298  		*(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\134')
 25299  		*(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\135')
 25300  		convert_glob_write_str(tls, out, uint64(2))
 25301  		has_prev_c = DTRUE
 25302  		prev_c = Tuint32_t('\135')
 25303  		pattern++
 25304  	}
 25305  
 25306  	for pattern < pattern_end {
 25307  		char_start = pattern
 25308  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))
 25309  		if utf != 0 && c >= 0xc0 {
 25310  			if c&0x20 == Tuint32_t(0) {
 25311  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f
 25312  			} else if c&0x10 == Tuint32_t(0) {
 25313  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f
 25314  				pattern += uintptr(2)
 25315  			} else if c&0x08 == Tuint32_t(0) {
 25316  				c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f
 25317  				pattern += uintptr(3)
 25318  			} else if c&0x04 == Tuint32_t(0) {
 25319  				c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f
 25320  				pattern += uintptr(4)
 25321  			} else {
 25322  				c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 4)))&0x3f
 25323  				pattern += uintptr(5)
 25324  			}
 25325  		}
 25326  
 25327  		if c == Tuint32_t('\135') {
 25328  			convert_glob_write(tls, out, uint8(c))
 25329  
 25330  			if !(is_negative != 0) && !(no_wildsep != 0) && separator_seen != 0 {
 25331  				*(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\050')
 25332  				*(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\077')
 25333  				*(*Tuint8_t)(unsafe.Pointer(out + 24 + 2)) = Tuint8_t('\074')
 25334  				*(*Tuint8_t)(unsafe.Pointer(out + 24 + 3)) = Tuint8_t('\041')
 25335  				convert_glob_write_str(tls, out, uint64(4))
 25336  
 25337  				convert_glob_print_separator(tls, out, separator, with_escape)
 25338  				convert_glob_write(tls, out, uint8('\051'))
 25339  			}
 25340  
 25341  			*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25342  			return 0
 25343  		}
 25344  
 25345  		if pattern >= pattern_end {
 25346  			break
 25347  		}
 25348  
 25349  		if c == Tuint32_t('\133') && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\072' {
 25350  			*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25351  			class_index = convert_glob_parse_class(tls, from, pattern_end, out)
 25352  
 25353  			if class_index != 0 {
 25354  				pattern = *(*TPCRE2_SPTR8)(unsafe.Pointer(from))
 25355  
 25356  				has_prev_c = DFALSE
 25357  				prev_c = Tuint32_t(0)
 25358  
 25359  				if !(is_negative != 0) && convert_glob_char_in_class(tls, class_index, separator) != 0 {
 25360  					separator_seen = DTRUE
 25361  				}
 25362  				continue
 25363  			}
 25364  		} else if c == Tuint32_t('\055') && has_prev_c != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) != '\135' {
 25365  			convert_glob_write(tls, out, uint8('\055'))
 25366  
 25367  			char_start = pattern
 25368  			c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))
 25369  			if utf != 0 && c >= 0xc0 {
 25370  				if c&0x20 == Tuint32_t(0) {
 25371  					c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f
 25372  				} else if c&0x10 == Tuint32_t(0) {
 25373  					c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f
 25374  					pattern += uintptr(2)
 25375  				} else if c&0x08 == Tuint32_t(0) {
 25376  					c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f
 25377  					pattern += uintptr(3)
 25378  				} else if c&0x04 == Tuint32_t(0) {
 25379  					c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f
 25380  					pattern += uintptr(4)
 25381  				} else {
 25382  					c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 4)))&0x3f
 25383  					pattern += uintptr(5)
 25384  				}
 25385  			}
 25386  
 25387  			if pattern >= pattern_end {
 25388  				break
 25389  			}
 25390  
 25391  			if int32(escape) != 0 && c == Tuint32_t(escape) {
 25392  				char_start = pattern
 25393  				c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))
 25394  				if utf != 0 && c >= 0xc0 {
 25395  					if c&0x20 == Tuint32_t(0) {
 25396  						c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f
 25397  					} else if c&0x10 == Tuint32_t(0) {
 25398  						c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f
 25399  						pattern += uintptr(2)
 25400  					} else if c&0x08 == Tuint32_t(0) {
 25401  						c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f
 25402  						pattern += uintptr(3)
 25403  					} else if c&0x04 == Tuint32_t(0) {
 25404  						c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f
 25405  						pattern += uintptr(4)
 25406  					} else {
 25407  						c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 4)))&0x3f
 25408  						pattern += uintptr(5)
 25409  					}
 25410  				}
 25411  
 25412  			} else if c == Tuint32_t('\133') && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern))) == '\072' {
 25413  				*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25414  				return -64
 25415  			}
 25416  
 25417  			if prev_c > c {
 25418  				*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25419  				return -64
 25420  			}
 25421  
 25422  			if prev_c < Tuint32_t(separator) && Tuint32_t(separator) < c {
 25423  				separator_seen = DTRUE
 25424  			}
 25425  
 25426  			has_prev_c = DFALSE
 25427  			prev_c = Tuint32_t(0)
 25428  		} else {
 25429  			if int32(escape) != 0 && c == Tuint32_t(escape) {
 25430  				char_start = pattern
 25431  				c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))
 25432  				if utf != 0 && c >= 0xc0 {
 25433  					if c&0x20 == Tuint32_t(0) {
 25434  						c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&pattern, 1))))&0x3f
 25435  					} else if c&0x10 == Tuint32_t(0) {
 25436  						c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f
 25437  						pattern += uintptr(2)
 25438  					} else if c&0x08 == Tuint32_t(0) {
 25439  						c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f
 25440  						pattern += uintptr(3)
 25441  					} else if c&0x04 == Tuint32_t(0) {
 25442  						c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f
 25443  						pattern += uintptr(4)
 25444  					} else {
 25445  						c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(pattern + 4)))&0x3f
 25446  						pattern += uintptr(5)
 25447  					}
 25448  				}
 25449  
 25450  				if pattern >= pattern_end {
 25451  					break
 25452  				}
 25453  			}
 25454  
 25455  			has_prev_c = DTRUE
 25456  			prev_c = c
 25457  		}
 25458  
 25459  		if c == Tuint32_t('\133') || c == Tuint32_t('\135') || c == Tuint32_t('\134') || c == Tuint32_t('\055') {
 25460  			convert_glob_write(tls, out, uint8('\134'))
 25461  		}
 25462  
 25463  		if c == Tuint32_t(separator) {
 25464  			separator_seen = DTRUE
 25465  		}
 25466  
 25467  		for __ccgo := true; __ccgo; __ccgo = char_start < pattern {
 25468  			convert_glob_write(tls, out, *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&char_start, 1))))
 25469  		}
 25470  	}
 25471  
 25472  	*(*TPCRE2_SPTR8)(unsafe.Pointer(from)) = pattern
 25473  	return DPCRE2_ERROR_MISSING_SQUARE_BRACKET
 25474  }
 25475  
 25476  // Prints a (*COMMIT) into the output.
 25477  //
 25478  // Arguments:
 25479  //   out            output context
 25480  
 25481  func convert_glob_print_commit(tls *libc.TLS, out uintptr) { /* pcre2_convert.c:754:1: */
 25482  	*(*Tuint8_t)(unsafe.Pointer(out + 24)) = Tuint8_t('\050')
 25483  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 1)) = Tuint8_t('\052')
 25484  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 2)) = Tuint8_t('\103')
 25485  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 3)) = Tuint8_t('\117')
 25486  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 4)) = Tuint8_t('\115')
 25487  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 5)) = Tuint8_t('\115')
 25488  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 6)) = Tuint8_t('\111')
 25489  	*(*Tuint8_t)(unsafe.Pointer(out + 24 + 7)) = Tuint8_t('\124')
 25490  	convert_glob_write_str(tls, out, uint64(8))
 25491  	convert_glob_write(tls, out, uint8('\051'))
 25492  }
 25493  
 25494  // Bash glob converter.
 25495  //
 25496  // Arguments:
 25497  //   pattype        the pattern type
 25498  //   pattern        the pattern
 25499  //   plength        length in code units
 25500  //   utf            TRUE if UTF
 25501  //   use_buffer     where to put the output
 25502  //   use_length     length of use_buffer
 25503  //   bufflenptr     where to put the used length
 25504  //   dummyrun       TRUE if a dummy run
 25505  //   ccontext       the convert context
 25506  //
 25507  // Returns:         0 => success
 25508  //                 !0 => error code
 25509  
 25510  func convert_glob(tls *libc.TLS, options Tuint32_t, pattern TPCRE2_SPTR8, plength Tsize_t, utf TBOOL, use_buffer uintptr, use_length Tsize_t, bufflenptr uintptr, dummyrun TBOOL, ccontext uintptr) int32 { /* pcre2_convert.c:787:1: */
 25511  	bp := tls.Alloc(40)
 25512  	defer tls.Free(40)
 25513  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) = pattern
 25514  
 25515  	// var out Tpcre2_output_context at bp, 32
 25516  
 25517  	var pattern_start TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))
 25518  	var pattern_end TPCRE2_SPTR8 = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) + uintptr(plength)
 25519  	var separator TPCRE2_UCHAR8 = TPCRE2_UCHAR8((*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_separator)
 25520  	var escape TPCRE2_UCHAR8 = TPCRE2_UCHAR8((*Tpcre2_convert_context_8)(unsafe.Pointer(ccontext)).Fglob_escape)
 25521  	var c TPCRE2_UCHAR8
 25522  	var no_wildsep TBOOL = libc.Bool32(options&DPCRE2_CONVERT_GLOB_NO_WILD_SEPARATOR != Tuint32_t(0))
 25523  	var no_starstar TBOOL = libc.Bool32(options&DPCRE2_CONVERT_GLOB_NO_STARSTAR != Tuint32_t(0))
 25524  	var in_atomic TBOOL = DFALSE
 25525  	var after_starstar TBOOL = DFALSE
 25526  	var no_slash_z TBOOL = DFALSE
 25527  	var with_escape TBOOL
 25528  	var is_start TBOOL
 25529  	var after_separator TBOOL
 25530  	var result int32 = 0
 25531  
 25532  	_ = utf // Avoid compiler warning.
 25533  
 25534  	if utf != 0 && (int32(separator) >= 128 || int32(escape) >= 128) {
 25535  		// Currently only ASCII characters are supported.
 25536  		*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = uint64(0)
 25537  		return -64
 25538  	}
 25539  
 25540  	with_escape = libc.Bool32(libc.Xstrchr(tls, pcre2_escaped_literals, int32(separator)) != uintptr(0))
 25541  
 25542  	// Initialize default for error offset as end of input.
 25543  	(*Tpcre2_output_context)(unsafe.Pointer(bp /* &out */)).Foutput = use_buffer
 25544  	(*Tpcre2_output_context)(unsafe.Pointer(bp /* &out */)).Foutput_end = use_buffer + uintptr(use_length)
 25545  	(*Tpcre2_output_context)(unsafe.Pointer(bp /* &out */)).Foutput_size = uint64(0)
 25546  
 25547  	*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\050')
 25548  	*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077')
 25549  	*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\163')
 25550  	*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 3)) = Tuint8_t('\051')
 25551  	convert_glob_write_str(tls, bp, uint64(4))
 25552  
 25553  	is_start = DTRUE
 25554  
 25555  	if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' {
 25556  		if no_wildsep != 0 {
 25557  			is_start = DFALSE
 25558  		} else if !(no_starstar != 0) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))+uintptr(1) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) + 1))) == '\052' {
 25559  			is_start = DFALSE
 25560  		}
 25561  	}
 25562  
 25563  	if is_start != 0 {
 25564  		*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\134')
 25565  		*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\101')
 25566  		convert_glob_write_str(tls, bp, uint64(2))
 25567  	}
 25568  
 25569  	for *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end {
 25570  		c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */)), 1)))
 25571  
 25572  		if int32(c) == '\052' {
 25573  			is_start = libc.Bool32(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) == pattern_start+uintptr(1))
 25574  
 25575  			if in_atomic != 0 {
 25576  				convert_glob_write(tls, bp, uint8('\051'))
 25577  				in_atomic = DFALSE
 25578  			}
 25579  
 25580  			if !(no_starstar != 0) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' {
 25581  				after_separator = libc.Bool32(is_start != 0 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) + libc.UintptrFromInt32(-2)))) == int32(separator))
 25582  
 25583  				for __ccgo := true; __ccgo; __ccgo = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' {
 25584  					*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++
 25585  				}
 25586  
 25587  				if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) >= pattern_end {
 25588  					no_slash_z = DTRUE
 25589  					break
 25590  				}
 25591  
 25592  				after_starstar = DTRUE
 25593  
 25594  				if after_separator != 0 && int32(escape) != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == int32(escape) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))+uintptr(1) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) + 1))) == int32(separator) {
 25595  					*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++
 25596  				}
 25597  
 25598  				if is_start != 0 {
 25599  					if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) != int32(separator) {
 25600  						continue
 25601  					}
 25602  
 25603  					*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\050')
 25604  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077')
 25605  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\072')
 25606  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 3)) = Tuint8_t('\134')
 25607  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 4)) = Tuint8_t('\101')
 25608  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 5)) = Tuint8_t('\174')
 25609  					convert_glob_write_str(tls, bp, uint64(6))
 25610  
 25611  					convert_glob_print_separator(tls, bp, separator, with_escape)
 25612  					convert_glob_write(tls, bp, uint8('\051'))
 25613  
 25614  					*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++
 25615  					continue
 25616  				}
 25617  
 25618  				convert_glob_print_commit(tls, bp)
 25619  
 25620  				if !(after_separator != 0) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) != int32(separator) {
 25621  					*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\056')
 25622  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\052')
 25623  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\077')
 25624  					convert_glob_write_str(tls, bp, uint64(3))
 25625  					continue
 25626  				}
 25627  
 25628  				*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\050')
 25629  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077')
 25630  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\072')
 25631  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 3)) = Tuint8_t('\056')
 25632  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 4)) = Tuint8_t('\052')
 25633  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 5)) = Tuint8_t('\077')
 25634  
 25635  				convert_glob_write_str(tls, bp, uint64(6))
 25636  
 25637  				convert_glob_print_separator(tls, bp, separator, with_escape)
 25638  
 25639  				*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\051')
 25640  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077')
 25641  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\077')
 25642  				convert_glob_write_str(tls, bp, uint64(3))
 25643  
 25644  				*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++
 25645  				continue
 25646  			}
 25647  
 25648  			if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' {
 25649  				for __ccgo1 := true; __ccgo1; __ccgo1 = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) < pattern_end && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))))) == '\052' {
 25650  					*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */))++
 25651  				}
 25652  			}
 25653  
 25654  			if no_wildsep != 0 {
 25655  				if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) >= pattern_end {
 25656  					no_slash_z = DTRUE
 25657  					break
 25658  				}
 25659  
 25660  				// Start check must be after the end check.
 25661  				if is_start != 0 {
 25662  					continue
 25663  				}
 25664  			}
 25665  
 25666  			if !(is_start != 0) {
 25667  				if after_starstar != 0 {
 25668  					*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\050')
 25669  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077')
 25670  					*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 2)) = Tuint8_t('\076')
 25671  					convert_glob_write_str(tls, bp, uint64(3))
 25672  					in_atomic = DTRUE
 25673  				} else {
 25674  					convert_glob_print_commit(tls, bp)
 25675  				}
 25676  			}
 25677  
 25678  			if no_wildsep != 0 {
 25679  				convert_glob_write(tls, bp, uint8('\056'))
 25680  			} else {
 25681  				convert_glob_print_wildcard(tls, bp, separator, with_escape)
 25682  			}
 25683  
 25684  			*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\052')
 25685  			*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\077')
 25686  			if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) >= pattern_end {
 25687  				*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\053')
 25688  			}
 25689  			convert_glob_write_str(tls, bp, uint64(2))
 25690  			continue
 25691  		}
 25692  
 25693  		if int32(c) == '\077' {
 25694  			if no_wildsep != 0 {
 25695  				convert_glob_write(tls, bp, uint8('\056'))
 25696  			} else {
 25697  				convert_glob_print_wildcard(tls, bp, separator, with_escape)
 25698  			}
 25699  			continue
 25700  		}
 25701  
 25702  		if int32(c) == '\133' {
 25703  			result = convert_glob_parse_range(tls, bp+32, pattern_end,
 25704  				bp, utf, separator, with_escape, escape, no_wildsep)
 25705  			if result != 0 {
 25706  				break
 25707  			}
 25708  			continue
 25709  		}
 25710  
 25711  		if int32(escape) != 0 && int32(c) == int32(escape) {
 25712  			if *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32)) >= pattern_end {
 25713  				result = -64
 25714  				break
 25715  			}
 25716  			c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32 /* pattern */)), 1)))
 25717  		}
 25718  
 25719  		if int32(c) < 128 && libc.Xstrchr(tls, pcre2_escaped_literals, int32(c)) != uintptr(0) {
 25720  			convert_glob_write(tls, bp, uint8('\134'))
 25721  		}
 25722  
 25723  		convert_glob_write(tls, bp, c)
 25724  	}
 25725  
 25726  	if result == 0 {
 25727  		if !(no_slash_z != 0) {
 25728  			*(*Tuint8_t)(unsafe.Pointer(bp + 24)) = Tuint8_t('\134')
 25729  			*(*Tuint8_t)(unsafe.Pointer(bp + 24 + 1)) = Tuint8_t('\172')
 25730  			convert_glob_write_str(tls, bp, uint64(2))
 25731  		}
 25732  
 25733  		if in_atomic != 0 {
 25734  			convert_glob_write(tls, bp, uint8('\051'))
 25735  		}
 25736  
 25737  		convert_glob_write(tls, bp, uint8(0))
 25738  
 25739  		if !(dummyrun != 0) && (*Tpcre2_output_context)(unsafe.Pointer(bp)).Foutput_size != Tsize_t((int64((*Tpcre2_output_context)(unsafe.Pointer(bp)).Foutput)-int64(use_buffer))/1) {
 25740  			result = -48
 25741  		}
 25742  	}
 25743  
 25744  	if result != 0 {
 25745  		*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 32))) - int64(pattern_start)) / 1)
 25746  		return result
 25747  	}
 25748  
 25749  	*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = (*Tpcre2_output_context)(unsafe.Pointer(bp)).Foutput_size - uint64(1)
 25750  	return 0
 25751  }
 25752  
 25753  // ************************************************
 25754  //
 25755  //                Convert pattern                 *
 25756  //
 25757  
 25758  // This is the external-facing function for converting other forms of pattern
 25759  // into PCRE2 regular expression patterns. On error, the bufflenptr argument is
 25760  // used to return an offset in the original pattern.
 25761  //
 25762  // Arguments:
 25763  //   pattern     the input pattern
 25764  //   plength     length of input, or PCRE2_ZERO_TERMINATED
 25765  //   options     options bits
 25766  //   buffptr     pointer to pointer to output buffer
 25767  //   bufflenptr  pointer to length of output buffer
 25768  //   ccontext    convert context or NULL
 25769  //
 25770  // Returns:      0 for success, else an error code (+ve or -ve)
 25771  
 25772  func Xpcre2_pattern_convert_8(tls *libc.TLS, pattern TPCRE2_SPTR8, plength Tsize_t, options Tuint32_t, buffptr uintptr, bufflenptr uintptr, ccontext uintptr) int32 { /* pcre2_convert.c:1057:1: */
 25773  	bp := tls.Alloc(112)
 25774  	defer tls.Free(112)
 25775  
 25776  	var i int32
 25777  	var rc int32
 25778  	// var dummy_buffer [100]TPCRE2_UCHAR8 at bp, 100
 25779  
 25780  	var use_buffer uintptr = bp /* dummy_buffer */
 25781  	var use_length Tsize_t = uint64(DDUMMY_BUFFER_SIZE)
 25782  	var utf TBOOL = libc.Bool32(options&DPCRE2_CONVERT_UTF != Tuint32_t(0))
 25783  	var pattype Tuint32_t = options & (DPCRE2_CONVERT_GLOB | DPCRE2_CONVERT_POSIX_BASIC | DPCRE2_CONVERT_POSIX_EXTENDED)
 25784  
 25785  	if pattern == uintptr(0) || bufflenptr == uintptr(0) {
 25786  		return -51
 25787  	}
 25788  
 25789  	if options&libc.CplUint32(DPCRE2_CONVERT_UTF|DPCRE2_CONVERT_NO_UTF_CHECK|DPCRE2_CONVERT_GLOB_NO_WILD_SEPARATOR|DPCRE2_CONVERT_GLOB_NO_STARSTAR|(DPCRE2_CONVERT_GLOB|DPCRE2_CONVERT_POSIX_BASIC|DPCRE2_CONVERT_POSIX_EXTENDED)) != Tuint32_t(0) || pattype&(^pattype+Tuint32_t(1)) != pattype || pattype == Tuint32_t(0) {
 25790  		*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = uint64(0) // Error offset
 25791  		return -34
 25792  	}
 25793  
 25794  	if plength == libc.CplUint64(uint64(0)) {
 25795  		plength = X_pcre2_strlen_8(tls, pattern)
 25796  	}
 25797  	if ccontext == uintptr(0) {
 25798  		ccontext = uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8))
 25799  	}
 25800  
 25801  	// Check UTF if required.
 25802  
 25803  	if utf != 0 && options&DPCRE2_CONVERT_NO_UTF_CHECK == Tuint32_t(0) {
 25804  		// var erroroffset Tsize_t at bp+104, 8
 25805  
 25806  		rc = X_pcre2_valid_utf_8(tls, pattern, plength, bp+104)
 25807  		if rc != 0 {
 25808  			*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = *(*Tsize_t)(unsafe.Pointer(bp + 104 /* erroroffset */))
 25809  			return rc
 25810  		}
 25811  	}
 25812  
 25813  	// If buffptr is not NULL, and what it points to is not NULL, we are being
 25814  	// provided with a buffer and a length, so set them as the buffer to use.
 25815  
 25816  	if buffptr != uintptr(0) && *(*uintptr)(unsafe.Pointer(buffptr)) != uintptr(0) {
 25817  		use_buffer = *(*uintptr)(unsafe.Pointer(buffptr))
 25818  		use_length = *(*Tsize_t)(unsafe.Pointer(bufflenptr))
 25819  	}
 25820  
 25821  	// Call an individual converter, either just once (if a buffer was provided or
 25822  	// just the length is needed), or twice (if a memory allocation is required).
 25823  
 25824  	for i = 0; i < 2; i++ {
 25825  		var allocated uintptr
 25826  		var dummyrun TBOOL = libc.Bool32(buffptr == uintptr(0) || *(*uintptr)(unsafe.Pointer(buffptr)) == uintptr(0))
 25827  
 25828  		switch pattype {
 25829  		case DPCRE2_CONVERT_GLOB:
 25830  			rc = convert_glob(tls, options&libc.CplUint32(DPCRE2_CONVERT_GLOB), pattern, plength, utf,
 25831  				use_buffer, use_length, bufflenptr, dummyrun, ccontext)
 25832  			break
 25833  
 25834  		case DPCRE2_CONVERT_POSIX_BASIC:
 25835  			fallthrough
 25836  		case DPCRE2_CONVERT_POSIX_EXTENDED:
 25837  			rc = convert_posix(tls, pattype, pattern, plength, utf, use_buffer, use_length,
 25838  				bufflenptr, dummyrun, ccontext)
 25839  			break
 25840  
 25841  		default:
 25842  			*(*Tsize_t)(unsafe.Pointer(bufflenptr)) = uint64(0) // Error offset
 25843  			return -44
 25844  		}
 25845  
 25846  		if rc != 0 || buffptr == uintptr(0) || *(*uintptr)(unsafe.Pointer(buffptr)) != uintptr(0) { // Buffer was provided or allocated
 25847  			return rc
 25848  		}
 25849  
 25850  		// Allocate memory for the buffer, with hidden space for an allocator at
 25851  		//   the start. The next time round the loop runs the conversion for real.
 25852  
 25853  		allocated = X_pcre2_memctl_malloc_8(tls, uint64(unsafe.Sizeof(Tpcre2_memctl{}))+(*(*Tsize_t)(unsafe.Pointer(bufflenptr))+uint64(1))*uint64(DPCRE2_CODE_UNIT_WIDTH), ccontext)
 25854  		if allocated == uintptr(0) {
 25855  			return -48
 25856  		}
 25857  		*(*uintptr)(unsafe.Pointer(buffptr)) = allocated + uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 25858  
 25859  		use_buffer = *(*uintptr)(unsafe.Pointer(buffptr))
 25860  		use_length = *(*Tsize_t)(unsafe.Pointer(bufflenptr)) + uint64(1)
 25861  	}
 25862  
 25863  	// Control should never get here.
 25864  
 25865  	return -44
 25866  }
 25867  
 25868  // ************************************************
 25869  //
 25870  //            Free converted pattern              *
 25871  //
 25872  
 25873  // This frees a converted pattern that was put in newly-allocated memory.
 25874  //
 25875  // Argument:   the converted pattern
 25876  // Returns:    nothing
 25877  
 25878  func Xpcre2_converted_pattern_free_8(tls *libc.TLS, converted uintptr) { /* pcre2_convert.c:1172:1: */
 25879  	if converted != uintptr(0) {
 25880  		var memctl uintptr = converted - uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 25881  		(*struct {
 25882  			f func(*libc.TLS, uintptr, uintptr)
 25883  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 25884  	}
 25885  }
 25886  
 25887  // End of pcre2_convert.c
 25888  
 25889  // This function is needed only when memmove() is not available.
 25890  
 25891  // End of pcre2_internal.h
 25892  
 25893  // ************************************************
 25894  //
 25895  //      Code parameters and static tables         *
 25896  //
 25897  
 25898  // These are offsets that are used to turn the OP_TYPESTAR and friends opcodes
 25899  // into others, under special conditions. A gap of 20 between the blocks should be
 25900  // enough. The resulting opcodes don't have to be less than 256 because they are
 25901  // never stored, so we push them well clear of the normal opcodes.
 25902  
 25903  // This table identifies those opcodes that are followed immediately by a
 25904  // character that is to be tested in some way. This makes it possible to
 25905  // centralize the loading of these characters. In the case of Type * etc, the
 25906  // "character" is the opcode for \D, \d, \S, \s, \W, or \w, which will always be a
 25907  // small value. Non-zero values in the table are the offsets from the opcode where
 25908  // the character is to be found. ***NOTE*** If the start of this table is
 25909  // modified, the three tables that follow must also be modified.
 25910  
 25911  var coptable = [168]Tuint8_t{
 25912  	Tuint8_t(0),                                                     // End
 25913  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \A, \G, \K, \B, \b
 25914  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \D, \d, \S, \s, \W, \w
 25915  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // Any, AllAny, Anybyte
 25916  	Tuint8_t(0), Tuint8_t(0), // \P, \p
 25917  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \R, \H, \h, \V, \v
 25918  	Tuint8_t(0),                                                                  // \X
 25919  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \Z, \z, $, $M, ^, ^M
 25920  	Tuint8_t(1), // Char
 25921  	Tuint8_t(1), // Chari
 25922  	Tuint8_t(1), // not
 25923  	Tuint8_t(1), // noti
 25924  	// Positive single-char repeats
 25925  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *, *?, +, +?, ?, ??
 25926  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25927  	Tuint8_t(1 + DIMM2_SIZE),
 25928  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25929  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *I, *?I, +I, +?I, ?I, ??I
 25930  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25931  	Tuint8_t(1 + DIMM2_SIZE),
 25932  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25933  	// Negative single-char repeats - only for chars < 256
 25934  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *, *?, +, +?, ?, ??
 25935  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25936  	Tuint8_t(1 + DIMM2_SIZE),
 25937  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25938  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *I, *?I, +I, +?I, ?I, ??I
 25939  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25940  	Tuint8_t(1 + DIMM2_SIZE),
 25941  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25942  	// Positive type repeats
 25943  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type *, *?, +, +?, ?, ??
 25944  	Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE),
 25945  	Tuint8_t(1 + DIMM2_SIZE),
 25946  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + DIMM2_SIZE),
 25947  	// Character class & ref repeats
 25948  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // *, *?, +, +?, ?, ??
 25949  	Tuint8_t(0), Tuint8_t(0), // CRRANGE, CRMINRANGE
 25950  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // Possessive *+, ++, ?+, CRPOSRANGE
 25951  	Tuint8_t(0),                                                     // CLASS
 25952  	Tuint8_t(0),                                                     // NCLASS
 25953  	Tuint8_t(0),                                                     // XCLASS - variable length
 25954  	Tuint8_t(0),                                                     // REF
 25955  	Tuint8_t(0),                                                     // REFI
 25956  	Tuint8_t(0),                                                     // DNREF
 25957  	Tuint8_t(0),                                                     // DNREFI
 25958  	Tuint8_t(0),                                                     // RECURSE
 25959  	Tuint8_t(0),                                                     // CALLOUT
 25960  	Tuint8_t(0),                                                     // CALLOUT_STR
 25961  	Tuint8_t(0),                                                     // Alt
 25962  	Tuint8_t(0),                                                     // Ket
 25963  	Tuint8_t(0),                                                     // KetRmax
 25964  	Tuint8_t(0),                                                     // KetRmin
 25965  	Tuint8_t(0),                                                     // KetRpos
 25966  	Tuint8_t(0),                                                     // Reverse
 25967  	Tuint8_t(0),                                                     // Assert
 25968  	Tuint8_t(0),                                                     // Assert not
 25969  	Tuint8_t(0),                                                     // Assert behind
 25970  	Tuint8_t(0),                                                     // Assert behind not
 25971  	Tuint8_t(0),                                                     // NA assert
 25972  	Tuint8_t(0),                                                     // NA assert behind
 25973  	Tuint8_t(0),                                                     // ONCE
 25974  	Tuint8_t(0),                                                     // SCRIPT_RUN
 25975  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRA, BRAPOS, CBRA, CBRAPOS, COND
 25976  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SBRA, SBRAPOS, SCBRA, SCBRAPOS, SCOND
 25977  	Tuint8_t(0), Tuint8_t(0), // CREF, DNCREF
 25978  	Tuint8_t(0), Tuint8_t(0), // RREF, DNRREF
 25979  	Tuint8_t(0), Tuint8_t(0), // FALSE, TRUE
 25980  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRAZERO, BRAMINZERO, BRAPOSZERO
 25981  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // MARK, PRUNE, PRUNE_ARG
 25982  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SKIP, SKIP_ARG, THEN, THEN_ARG
 25983  	Tuint8_t(0), Tuint8_t(0), // COMMIT, COMMIT_ARG
 25984  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // FAIL, ACCEPT, ASSERT_ACCEPT
 25985  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CLOSE, SKIPZERO, DEFINE
 25986  } /* pcre2_dfa_match.c:116:22 */
 25987  
 25988  // This table identifies those opcodes that inspect a character. It is used to
 25989  // remember the fact that a character could have been inspected when the end of
 25990  // the subject is reached. ***NOTE*** If the start of this table is modified, the
 25991  // two tables that follow must also be modified.
 25992  
 25993  var poptable = [168]Tuint8_t{
 25994  	Tuint8_t(0),                                                     // End
 25995  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(1), Tuint8_t(1), // \A, \G, \K, \B, \b
 25996  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // \D, \d, \S, \s, \W, \w
 25997  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Any, AllAny, Anybyte
 25998  	Tuint8_t(1), Tuint8_t(1), // \P, \p
 25999  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // \R, \H, \h, \V, \v
 26000  	Tuint8_t(1),                                                                  // \X
 26001  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // \Z, \z, $, $M, ^, ^M
 26002  	Tuint8_t(1), // Char
 26003  	Tuint8_t(1), // Chari
 26004  	Tuint8_t(1), // not
 26005  	Tuint8_t(1), // noti
 26006  	// Positive single-char repeats
 26007  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *, *?, +, +?, ?, ??
 26008  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // upto, minupto, exact
 26009  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *+, ++, ?+, upto+
 26010  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *I, *?I, +I, +?I, ?I, ??I
 26011  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // upto I, minupto I, exact I
 26012  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *+I, ++I, ?+I, upto+I
 26013  	// Negative single-char repeats - only for chars < 256
 26014  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *, *?, +, +?, ?, ??
 26015  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT upto, minupto, exact
 26016  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *+, ++, ?+, upto+
 26017  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *I, *?I, +I, +?I, ?I, ??I
 26018  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT upto I, minupto I, exact I
 26019  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // NOT *+I, ++I, ?+I, upto+I
 26020  	// Positive type repeats
 26021  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type *, *?, +, +?, ?, ??
 26022  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type upto, minupto, exact
 26023  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Type *+, ++, ?+, upto+
 26024  	// Character class & ref repeats
 26025  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // *, *?, +, +?, ?, ??
 26026  	Tuint8_t(1), Tuint8_t(1), // CRRANGE, CRMINRANGE
 26027  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), // Possessive *+, ++, ?+, CRPOSRANGE
 26028  	Tuint8_t(1),                                                     // CLASS
 26029  	Tuint8_t(1),                                                     // NCLASS
 26030  	Tuint8_t(1),                                                     // XCLASS - variable length
 26031  	Tuint8_t(0),                                                     // REF
 26032  	Tuint8_t(0),                                                     // REFI
 26033  	Tuint8_t(0),                                                     // DNREF
 26034  	Tuint8_t(0),                                                     // DNREFI
 26035  	Tuint8_t(0),                                                     // RECURSE
 26036  	Tuint8_t(0),                                                     // CALLOUT
 26037  	Tuint8_t(0),                                                     // CALLOUT_STR
 26038  	Tuint8_t(0),                                                     // Alt
 26039  	Tuint8_t(0),                                                     // Ket
 26040  	Tuint8_t(0),                                                     // KetRmax
 26041  	Tuint8_t(0),                                                     // KetRmin
 26042  	Tuint8_t(0),                                                     // KetRpos
 26043  	Tuint8_t(0),                                                     // Reverse
 26044  	Tuint8_t(0),                                                     // Assert
 26045  	Tuint8_t(0),                                                     // Assert not
 26046  	Tuint8_t(0),                                                     // Assert behind
 26047  	Tuint8_t(0),                                                     // Assert behind not
 26048  	Tuint8_t(0),                                                     // NA assert
 26049  	Tuint8_t(0),                                                     // NA assert behind
 26050  	Tuint8_t(0),                                                     // ONCE
 26051  	Tuint8_t(0),                                                     // SCRIPT_RUN
 26052  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRA, BRAPOS, CBRA, CBRAPOS, COND
 26053  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SBRA, SBRAPOS, SCBRA, SCBRAPOS, SCOND
 26054  	Tuint8_t(0), Tuint8_t(0), // CREF, DNCREF
 26055  	Tuint8_t(0), Tuint8_t(0), // RREF, DNRREF
 26056  	Tuint8_t(0), Tuint8_t(0), // FALSE, TRUE
 26057  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // BRAZERO, BRAMINZERO, BRAPOSZERO
 26058  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // MARK, PRUNE, PRUNE_ARG
 26059  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // SKIP, SKIP_ARG, THEN, THEN_ARG
 26060  	Tuint8_t(0), Tuint8_t(0), // COMMIT, COMMIT_ARG
 26061  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // FAIL, ACCEPT, ASSERT_ACCEPT
 26062  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), // CLOSE, SKIPZERO, DEFINE
 26063  } /* pcre2_dfa_match.c:198:22 */
 26064  
 26065  // These 2 tables allow for compact code for testing for \D, \d, \S, \s, \W,
 26066  // and \w
 26067  
 26068  var toptable1 = [14]Tuint8_t{
 26069  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0),
 26070  	Tuint8_t(Dctype_digit), Tuint8_t(Dctype_digit),
 26071  	Tuint8_t(Dctype_space), Tuint8_t(Dctype_space),
 26072  	Tuint8_t(Dctype_word), Tuint8_t(Dctype_word),
 26073  	Tuint8_t(0), Tuint8_t(0), // OP_ANY, OP_ALLANY
 26074  } /* pcre2_dfa_match.c:273:22 */
 26075  
 26076  var toptable2 = [14]Tuint8_t{
 26077  	Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0), Tuint8_t(0),
 26078  	Tuint8_t(Dctype_digit), Tuint8_t(0),
 26079  	Tuint8_t(Dctype_space), Tuint8_t(0),
 26080  	Tuint8_t(Dctype_word), Tuint8_t(0),
 26081  	Tuint8_t(1), Tuint8_t(1), // OP_ANY, OP_ALLANY
 26082  } /* pcre2_dfa_match.c:281:22 */
 26083  
 26084  // Structure for holding data about a particular state, which is in effect the
 26085  // current data for an active path through the match tree. It must consist
 26086  // entirely of ints because the working vector we are passed, and which we put
 26087  // these structures in, is a vector of ints.
 26088  
 26089  type Sstateblock = struct {
 26090  	Foffset int32
 26091  	Fcount  int32
 26092  	Fdata   int32
 26093  } /* pcre2_dfa_match.c:295:9 */
 26094  
 26095  // Structure for holding data about a particular state, which is in effect the
 26096  // current data for an active path through the match tree. It must consist
 26097  // entirely of ints because the working vector we are passed, and which we put
 26098  // these structures in, is a vector of ints.
 26099  
 26100  type Tstateblock = Sstateblock /* pcre2_dfa_match.c:299:3 */
 26101  
 26102  // Before version 10.32 the recursive calls of internal_dfa_match() were passed
 26103  // local working space and output vectors that were created on the stack. This has
 26104  // caused issues for some patterns, especially in small-stack environments such as
 26105  // Windows. A new scheme is now in use which sets up a vector on the stack, but if
 26106  // this is too small, heap memory is used, up to the heap_limit. The main
 26107  // parameters are all numbers of ints because the workspace is a vector of ints.
 26108  //
 26109  // The size of the starting stack vector, DFA_START_RWS_SIZE, is in bytes, and is
 26110  // defined in pcre2_internal.h so as to be available to pcre2test when it is
 26111  // finding the minimum heap requirement for a match.
 26112  
 26113  // This structure is at the start of each workspace block.
 26114  
 26115  type SRWS_anchor = struct {
 26116  	Fnext uintptr
 26117  	Fsize Tuint32_t
 26118  	Ffree Tuint32_t
 26119  } /* pcre2_dfa_match.c:324:9 */
 26120  
 26121  // Before version 10.32 the recursive calls of internal_dfa_match() were passed
 26122  // local working space and output vectors that were created on the stack. This has
 26123  // caused issues for some patterns, especially in small-stack environments such as
 26124  // Windows. A new scheme is now in use which sets up a vector on the stack, but if
 26125  // this is too small, heap memory is used, up to the heap_limit. The main
 26126  // parameters are all numbers of ints because the workspace is a vector of ints.
 26127  //
 26128  // The size of the starting stack vector, DFA_START_RWS_SIZE, is in bytes, and is
 26129  // defined in pcre2_internal.h so as to be available to pcre2test when it is
 26130  // finding the minimum heap requirement for a match.
 26131  
 26132  // This structure is at the start of each workspace block.
 26133  
 26134  type TRWS_anchor = SRWS_anchor /* pcre2_dfa_match.c:328:3 */
 26135  
 26136  // ************************************************
 26137  //
 26138  //               Process a callout                *
 26139  //
 26140  
 26141  // This function is called to perform a callout.
 26142  //
 26143  // Arguments:
 26144  //   code              current code pointer
 26145  //   offsets           points to current capture offsets
 26146  //   current_subject   start of current subject match
 26147  //   ptr               current position in subject
 26148  //   mb                the match block
 26149  //   extracode         extra code offset when called from condition
 26150  //   lengthptr         where to return the callout length
 26151  //
 26152  // Returns:            the return from the callout
 26153  
 26154  func do_callout(tls *libc.TLS, code TPCRE2_SPTR8, offsets uintptr, current_subject TPCRE2_SPTR8, ptr TPCRE2_SPTR8, mb uintptr, extracode Tsize_t, lengthptr uintptr) int32 { /* pcre2_dfa_match.c:353:1: */
 26155  	var cb uintptr = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcb
 26156  
 26157  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) = func() uint64 {
 26158  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(extracode)))) == OP_CALLOUT {
 26159  			return Tsize_t(X_pcre2_OP_lengths_8[OP_CALLOUT])
 26160  		}
 26161  		return Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+2*DLINK_SIZE)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+2*DLINK_SIZE)+extracode+uint64(1)))))))
 26162  	}()
 26163  
 26164  	if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout == uintptr(0) {
 26165  		return 0
 26166  	} // No callout provided
 26167  
 26168  	// Fixed fields in the callout block are set once and for all at the start of
 26169  	// matching.
 26170  
 26171  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Foffset_vector = offsets
 26172  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fstart_match = Tsize_t((int64(current_subject) - int64((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 26173  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcurrent_position = Tsize_t((int64(ptr) - int64((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 26174  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fpattern_position = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1)+extracode+uint64(1)))))))
 26175  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fnext_item_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+DLINK_SIZE)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+DLINK_SIZE)+extracode+uint64(1)))))))
 26176  
 26177  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(extracode)))) == OP_CALLOUT {
 26178  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+2*DLINK_SIZE)+extracode))))
 26179  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = uint64(0)
 26180  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = uintptr(0)
 26181  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = uint64(0)
 26182  	} else {
 26183  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(0)
 26184  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+3*DLINK_SIZE)+extracode))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(uint64(1+3*DLINK_SIZE)+extracode+uint64(1)))))))
 26185  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = code + uintptr(uint64(1+4*DLINK_SIZE)+extracode) + uintptr(1)
 26186  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = *(*Tsize_t)(unsafe.Pointer(lengthptr)) - uint64(1+4*DLINK_SIZE) - uint64(2)
 26187  	}
 26188  
 26189  	return (*struct {
 26190  		f func(*libc.TLS, uintptr, uintptr) int32
 26191  	})(unsafe.Pointer(&struct{ uintptr }{(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout})).f(tls, cb, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout_data)
 26192  }
 26193  
 26194  // ************************************************
 26195  //
 26196  //         Expand local workspace memory          *
 26197  //
 26198  
 26199  // This function is called when internal_dfa_match() is about to be called
 26200  // recursively and there is insufficient working space left in the current
 26201  // workspace block. If there's an existing next block, use it; otherwise get a new
 26202  // block unless the heap limit is reached.
 26203  //
 26204  // Arguments:
 26205  //   rwsptr     pointer to block pointer (updated)
 26206  //   ovecsize   space needed for an ovector
 26207  //   mb         the match block
 26208  //
 26209  // Returns:     0 rwsptr has been updated
 26210  //             !0 an error code
 26211  
 26212  func more_workspace(tls *libc.TLS, rwsptr uintptr, ovecsize uint32, mb uintptr) int32 { /* pcre2_dfa_match.c:413:1: */
 26213  	var rws uintptr = *(*uintptr)(unsafe.Pointer(rwsptr))
 26214  	var new uintptr
 26215  
 26216  	if (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext != uintptr(0) {
 26217  		new = (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext
 26218  	} else {
 26219  		var newsize Tuint32_t
 26220  		if (*TRWS_anchor)(unsafe.Pointer(rws)).Fsize >= 4294967295/uint32(2) {
 26221  			newsize = 4294967295 / uint32(2)
 26222  		} else {
 26223  			newsize = (*TRWS_anchor)(unsafe.Pointer(rws)).Fsize * Tuint32_t(2)
 26224  		}
 26225  		var newsizeK Tuint32_t = Tuint32_t(uint64(newsize) / (uint64(1024) / uint64(unsafe.Sizeof(int32(0)))))
 26226  
 26227  		if Tsize_t(newsizeK)+(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_used > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit {
 26228  			newsizeK = Tuint32_t((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit - (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_used)
 26229  		}
 26230  		newsize = Tuint32_t(uint64(newsizeK) * (uint64(1024) / uint64(unsafe.Sizeof(int32(0)))))
 26231  
 26232  		if uint64(newsize) < uint64(uint32(DRWS_RSIZE)+ovecsize)+uint64(unsafe.Sizeof(TRWS_anchor{}))/uint64(unsafe.Sizeof(int32(0))) {
 26233  			return -63
 26234  		}
 26235  		new = (*struct {
 26236  			f func(*libc.TLS, Tsize_t, uintptr) uintptr
 26237  		})(unsafe.Pointer(&struct{ uintptr }{(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmalloc})).f(tls, uint64(newsize)*uint64(unsafe.Sizeof(int32(0))), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 26238  		if new == uintptr(0) {
 26239  			return -48
 26240  		}
 26241  		*(*Tsize_t)(unsafe.Pointer(mb + 88)) += Tsize_t(newsizeK)
 26242  		(*TRWS_anchor)(unsafe.Pointer(new)).Fnext = uintptr(0)
 26243  		(*TRWS_anchor)(unsafe.Pointer(new)).Fsize = newsize
 26244  		(*TRWS_anchor)(unsafe.Pointer(rws)).Fnext = new
 26245  	}
 26246  
 26247  	(*TRWS_anchor)(unsafe.Pointer(new)).Ffree = Tuint32_t(uint64((*TRWS_anchor)(unsafe.Pointer(new)).Fsize) - uint64(unsafe.Sizeof(TRWS_anchor{}))/uint64(unsafe.Sizeof(int32(0))))
 26248  	*(*uintptr)(unsafe.Pointer(rwsptr)) = new
 26249  	return 0
 26250  }
 26251  
 26252  // ************************************************
 26253  //
 26254  //     Match a Regular Expression - DFA engine    *
 26255  //
 26256  
 26257  // This internal function applies a compiled pattern to a subject string,
 26258  // starting at a given point, using a DFA engine. This function is called from the
 26259  // external one, possibly multiple times if the pattern is not anchored. The
 26260  // function calls itself recursively for some kinds of subpattern.
 26261  //
 26262  // Arguments:
 26263  //   mb                the match_data block with fixed information
 26264  //   this_start_code   the opening bracket of this subexpression's code
 26265  //   current_subject   where we currently are in the subject string
 26266  //   start_offset      start offset in the subject string
 26267  //   offsets           vector to contain the matching string offsets
 26268  //   offsetcount       size of same
 26269  //   workspace         vector of workspace
 26270  //   wscount           size of same
 26271  //   rlevel            function call recursion level
 26272  //
 26273  // Returns:            > 0 => number of match offset pairs placed in offsets
 26274  //                     = 0 => offsets overflowed; longest matches are present
 26275  //                      -1 => failed to match
 26276  //                    < -1 => some kind of unexpected problem
 26277  //
 26278  // The following macros are used for adding states to the two state vectors (one
 26279  // for the current character, one for the following character).
 26280  
 26281  // And now, here is the code
 26282  
 26283  func internal_dfa_match(tls *libc.TLS, mb uintptr, this_start_code TPCRE2_SPTR8, current_subject TPCRE2_SPTR8, start_offset Tsize_t, offsets uintptr, offsetcount Tuint32_t, workspace uintptr, wscount int32, rlevel Tuint32_t, RWS uintptr) int32 { /* pcre2_dfa_match.c:522:1: */
 26284  	bp := tls.Alloc(96)
 26285  	defer tls.Free(96)
 26286  
 26287  	var active_states uintptr
 26288  	var new_states uintptr
 26289  	var temp_states uintptr
 26290  	var next_active_state uintptr
 26291  	var next_new_state uintptr
 26292  	var ctypes uintptr
 26293  	var lcc uintptr
 26294  	var fcc uintptr
 26295  	var ptr TPCRE2_SPTR8
 26296  	var end_code TPCRE2_SPTR8
 26297  	// var new_recursive Tdfa_recursion_info at bp+48, 24
 26298  
 26299  	var active_count int32
 26300  	var new_count int32
 26301  	var match_count int32
 26302  
 26303  	// Some fields in the mb block are frequently referenced, so we load them into
 26304  	// independent variables in the hope that this will perform better.
 26305  
 26306  	var start_subject TPCRE2_SPTR8
 26307  	var end_subject TPCRE2_SPTR8
 26308  	var start_code TPCRE2_SPTR8
 26309  	var utf TBOOL
 26310  	var utf_or_ucp TBOOL
 26311  	var reset_could_continue TBOOL
 26312  	var back Tsize_t
 26313  	var current_offset Tsize_t
 26314  	var bstate int32
 26315  	var revlen Tuint32_t
 26316  	var back1 Tsize_t
 26317  	var max_back Tsize_t
 26318  	var gone_back Tsize_t
 26319  	var length int32
 26320  	var cat Tuint32_t
 26321  	var temp TPCRE2_SPTR8
 26322  	var temp1 TPCRE2_SPTR8
 26323  	var cat1 Tuint32_t
 26324  	var left_word int32
 26325  	var right_word int32
 26326  	var OK TBOOL
 26327  	var cp uintptr
 26328  	var prop uintptr
 26329  	var OK1 TBOOL
 26330  	var cp1 uintptr
 26331  	var prop1 uintptr
 26332  	// var ncount int32 at bp, 4
 26333  
 26334  	var ncount1 int32
 26335  	var OK2 TBOOL
 26336  	var OK3 TBOOL
 26337  	var OK4 TBOOL
 26338  	var cp2 uintptr
 26339  	var prop2 uintptr
 26340  	// var ncount2 int32 at bp+4, 4
 26341  
 26342  	var ncount3 int32
 26343  	var OK5 TBOOL
 26344  	var OK6 TBOOL
 26345  	var OK7 TBOOL
 26346  	var cp3 uintptr
 26347  	var prop3 uintptr
 26348  	var nptr TPCRE2_SPTR8
 26349  	// var ncount4 int32 at bp+8, 4
 26350  
 26351  	var ncount5 int32
 26352  	var OK8 TBOOL
 26353  	var OK9 TBOOL
 26354  	var othercase uint32
 26355  	// var ncount6 int32 at bp+12, 4
 26356  
 26357  	var nptr1 TPCRE2_SPTR8
 26358  	var otherd Tuint32_t
 26359  	var otherd1 Tuint32_t
 26360  	var otherd2 Tuint32_t
 26361  	var otherd3 Tuint32_t
 26362  	var otherd4 Tuint32_t
 26363  	var otherd5 Tuint32_t
 26364  	var max int32
 26365  	var isinclass TBOOL
 26366  	var next_state_offset int32
 26367  	var ecode TPCRE2_SPTR8
 26368  	var rc int32
 26369  	var local_workspace uintptr
 26370  	var local_offsets uintptr
 26371  	var endasscode TPCRE2_SPTR8
 26372  	// var rws uintptr at bp+16, 8
 26373  
 26374  	// var callout_length Tsize_t at bp+24, 8
 26375  
 26376  	var value uint32
 26377  	var rc1 int32
 26378  	var local_workspace1 uintptr
 26379  	var local_offsets1 uintptr
 26380  	var asscode TPCRE2_SPTR8
 26381  	var endasscode1 TPCRE2_SPTR8
 26382  	// var rws1 uintptr at bp+32, 8
 26383  
 26384  	var codelink int32
 26385  	var condcode TPCRE2_UCHAR8
 26386  	var p TPCRE2_SPTR8
 26387  	var pp TPCRE2_SPTR8
 26388  	var charcount Tsize_t
 26389  	var rc2 int32
 26390  	var local_workspace2 uintptr
 26391  	var local_offsets2 uintptr
 26392  	// var rws2 uintptr at bp+40, 8
 26393  
 26394  	var ri uintptr
 26395  	var callpat TPCRE2_SPTR8
 26396  	var recno Tuint32_t
 26397  	var p1 TPCRE2_SPTR8
 26398  	var pp1 TPCRE2_SPTR8
 26399  	var end_subpattern TPCRE2_SPTR8
 26400  	var next_state_offset1 int32
 26401  	var rc3 int32
 26402  	var local_workspace3 uintptr
 26403  	var local_offsets3 uintptr
 26404  	var charcount1 Tsize_t
 26405  	var matched_count Tsize_t
 26406  	var local_ptr TPCRE2_SPTR8
 26407  	// var rws3 uintptr at bp+72, 8
 26408  
 26409  	var allow_zero TBOOL
 26410  	var p2 TPCRE2_SPTR8
 26411  	var pp2 TPCRE2_SPTR8
 26412  	var end_subpattern1 TPCRE2_SPTR8
 26413  	var charcount2 Tsize_t
 26414  	var next_state_offset2 int32
 26415  	var repeat_state_offset int32
 26416  	var rc4 int32
 26417  	var local_workspace4 uintptr
 26418  	var local_offsets4 uintptr
 26419  	// var rws4 uintptr at bp+80, 8
 26420  
 26421  	// var callout_length1 Tsize_t at bp+88, 8
 26422  
 26423  	var current_state uintptr
 26424  	var caseless TBOOL
 26425  	var code TPCRE2_SPTR8
 26426  	var codevalue Tuint32_t
 26427  	var state_offset int32
 26428  	var rrc int32
 26429  	var count int32
 26430  	var i int32
 26431  	var j int32
 26432  	var clen int32
 26433  	var dlen int32
 26434  	var c Tuint32_t
 26435  	var d Tuint32_t
 26436  	var forced_fail int32
 26437  	var partial_newline TBOOL
 26438  	var could_continue TBOOL
 26439  	start_subject = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject
 26440  	end_subject = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject
 26441  	start_code = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code
 26442  	utf = libc.Bool32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UTF != Tuint32_t(0))
 26443  	utf_or_ucp = libc.Bool32(utf != 0 || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0))
 26444  	reset_could_continue = DFALSE
 26445  
 26446  	if !(libc.PostIncUint32(&(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_call_count, 1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit) {
 26447  		goto __1
 26448  	}
 26449  	return -47
 26450  __1:
 26451  	;
 26452  	if !(libc.PostIncUint32(&rlevel, 1) > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth) {
 26453  		goto __2
 26454  	}
 26455  	return -53
 26456  __2:
 26457  	;
 26458  	offsetcount = offsetcount & libc.Uint32(libc.Uint32FromInt32(-2)) // Round down
 26459  
 26460  	wscount = wscount - 2
 26461  	wscount = (wscount - wscount%(int32(uint64(unsafe.Sizeof(Tstateblock{}))/uint64(unsafe.Sizeof(int32(0))))*2)) / (2 * int32(uint64(unsafe.Sizeof(Tstateblock{}))/uint64(unsafe.Sizeof(int32(0)))))
 26462  
 26463  	ctypes = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dcbits_offset+Dcbit_length)
 26464  	lcc = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dlcc_offset)
 26465  	fcc = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dfcc_offset)
 26466  
 26467  	match_count = -1 // A negative number
 26468  
 26469  	active_states = workspace + uintptr(2)*4
 26470  	next_new_state = libc.AssignUintptr(&new_states, active_states+uintptr(wscount)*12)
 26471  	new_count = 0
 26472  
 26473  	// The first thing in any (sub) pattern is a bracket of some sort. Push all
 26474  	// the alternative states onto the list, and find out where the end is. This
 26475  	// makes is possible to use this function recursively, when we want to stop at a
 26476  	// matching internal ket rather than at the end.
 26477  	//
 26478  	// If we are dealing with a backward assertion we have to find out the maximum
 26479  	// amount to move back, and set up each alternative appropriately.
 26480  
 26481  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_ASSERTBACK || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_ASSERTBACK_NOT) {
 26482  		goto __3
 26483  	}
 26484  
 26485  	max_back = uint64(0)
 26486  
 26487  	end_code = this_start_code
 26488  __5:
 26489  
 26490  	back = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 4)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 5)))))
 26491  	if !(back > max_back) {
 26492  		goto __8
 26493  	}
 26494  	max_back = back
 26495  __8:
 26496  	;
 26497  	end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2)))))
 26498  	goto __6
 26499  __6:
 26500  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT {
 26501  		goto __5
 26502  	}
 26503  	goto __7
 26504  __7:
 26505  	;
 26506  
 26507  	// If we can't go back the amount required for the longest lookbehind
 26508  	//   pattern, go back as far as we can; some alternatives may still be viable.
 26509  
 26510  	// In character mode we have to step back character by character
 26511  
 26512  	if !(utf != 0) {
 26513  		goto __9
 26514  	}
 26515  
 26516  	gone_back = uint64(0)
 26517  __11:
 26518  	if !(gone_back < max_back) {
 26519  		goto __13
 26520  	}
 26521  
 26522  	if !(current_subject <= start_subject) {
 26523  		goto __14
 26524  	}
 26525  	goto __13
 26526  __14:
 26527  	;
 26528  	current_subject--
 26529  __15:
 26530  	if !(current_subject > start_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(current_subject)))&0xc0 == 0x80) {
 26531  		goto __16
 26532  	}
 26533  	current_subject--
 26534  	goto __15
 26535  __16:
 26536  	;
 26537  	goto __12
 26538  __12:
 26539  	gone_back++
 26540  	goto __11
 26541  	goto __13
 26542  __13:
 26543  	;
 26544  	goto __10
 26545  __9:
 26546  
 26547  	/* In byte-mode we can do this quickly. */
 26548  
 26549  	current_offset = Tsize_t((int64(current_subject) - int64(start_subject)) / 1)
 26550  	if current_offset < max_back {
 26551  		gone_back = current_offset
 26552  	} else {
 26553  		gone_back = max_back
 26554  	}
 26555  	current_subject -= TPCRE2_SPTR8(gone_back)
 26556  __10:
 26557  	;
 26558  
 26559  	// Save the earliest consulted character
 26560  
 26561  	if !(current_subject < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) {
 26562  		goto __17
 26563  	}
 26564  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = current_subject
 26565  __17:
 26566  	;
 26567  
 26568  	// Now we can process the individual branches. There will be an OP_REVERSE at
 26569  	//   the start of each branch, except when the length of the branch is zero.
 26570  
 26571  	end_code = this_start_code
 26572  __18:
 26573  
 26574  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 3))) == OP_REVERSE {
 26575  		revlen = uint32(1 + DLINK_SIZE)
 26576  	} else {
 26577  		revlen = uint32(0)
 26578  	}
 26579  	if revlen == Tuint32_t(0) {
 26580  		back1 = uint64(0)
 26581  	} else {
 26582  		back1 = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 4)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 5)))))
 26583  	}
 26584  	if !(back1 <= gone_back) {
 26585  		goto __21
 26586  	}
 26587  
 26588  	bstate = int32((int64(end_code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE) + int64(revlen))
 26589  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 26590  		goto __22
 26591  	}
 26592  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -bstate
 26593  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 26594  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(gone_back - back1)
 26595  	next_new_state += 12
 26596  	goto __23
 26597  __22:
 26598  	return -43
 26599  __23:
 26600  	;
 26601  __21:
 26602  	;
 26603  	end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2)))))
 26604  	goto __19
 26605  __19:
 26606  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT {
 26607  		goto __18
 26608  	}
 26609  	goto __20
 26610  __20:
 26611  	;
 26612  	goto __4
 26613  __3:
 26614  
 26615  	end_code = this_start_code
 26616  
 26617  	// Restarting
 26618  
 26619  	if !(rlevel == Tuint32_t(1) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_DFA_RESTART != Tuint32_t(0)) {
 26620  		goto __24
 26621  	}
 26622  
 26623  __26:
 26624  	end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2)))))
 26625  	goto __27
 26626  __27:
 26627  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT {
 26628  		goto __26
 26629  	}
 26630  	goto __28
 26631  __28:
 26632  	;
 26633  	new_count = *(*int32)(unsafe.Pointer(workspace + 1*4))
 26634  	if !!(*(*int32)(unsafe.Pointer(workspace)) != 0) {
 26635  		goto __29
 26636  	}
 26637  	libc.Xmemcpy(tls, new_states, active_states, Tsize_t(new_count)*Tsize_t(unsafe.Sizeof(Tstateblock{})))
 26638  __29:
 26639  	;
 26640  	goto __25
 26641  __24:
 26642  
 26643  	length = 1 + DLINK_SIZE + func() int32 {
 26644  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_CBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_SCBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_CBRAPOS || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(this_start_code))) == OP_SCBRAPOS {
 26645  			return DIMM2_SIZE
 26646  		}
 26647  		return 0
 26648  	}()
 26649  __30:
 26650  
 26651  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 26652  		goto __33
 26653  	}
 26654  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = int32((int64(end_code)-int64(start_code))/1 + int64(length))
 26655  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 26656  	next_new_state += 12
 26657  	goto __34
 26658  __33:
 26659  	return -43
 26660  __34:
 26661  	;
 26662  	end_code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code + 2)))))
 26663  	length = 1 + DLINK_SIZE
 26664  	goto __31
 26665  __31:
 26666  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_code))) == OP_ALT {
 26667  		goto __30
 26668  	}
 26669  	goto __32
 26670  __32:
 26671  	;
 26672  __25:
 26673  	;
 26674  __4:
 26675  	;
 26676  
 26677  	*(*int32)(unsafe.Pointer(workspace)) = 0 // Bit indicating which vector is current
 26678  
 26679  	// Loop for scanning the subject
 26680  
 26681  	ptr = current_subject
 26682  __35:
 26683  	forced_fail = 0
 26684  	partial_newline = DFALSE
 26685  	could_continue = reset_could_continue
 26686  	reset_could_continue = DFALSE
 26687  
 26688  	if !(ptr > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 26689  		goto __38
 26690  	}
 26691  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = ptr
 26692  __38:
 26693  	;
 26694  
 26695  	// Make the new state list into the active state list and empty the
 26696  	//   new state list.
 26697  
 26698  	temp_states = active_states
 26699  	active_states = new_states
 26700  	new_states = temp_states
 26701  	active_count = new_count
 26702  	new_count = 0
 26703  
 26704  	*(*int32)(unsafe.Pointer(workspace)) ^= 1 // Remember for the restarting feature
 26705  	*(*int32)(unsafe.Pointer(workspace + 1*4)) = active_count
 26706  
 26707  	// Set the pointers for adding new states
 26708  
 26709  	next_active_state = active_states + uintptr(active_count)*12
 26710  	next_new_state = new_states
 26711  
 26712  	// Load the current character from the subject outside the loop, as many
 26713  	//   different states may want to look at it, and we assume that at least one
 26714  	//   will.
 26715  
 26716  	if !(ptr < end_subject) {
 26717  		goto __39
 26718  	}
 26719  
 26720  	clen = 1 // Number of data items in the character
 26721  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 26722  	if !(utf != 0 && c >= 0xc0) {
 26723  		goto __41
 26724  	}
 26725  	if !(c&0x20 == Tuint32_t(0)) {
 26726  		goto __42
 26727  	}
 26728  	c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 26729  	clen++
 26730  	goto __43
 26731  __42:
 26732  	if !(c&0x10 == Tuint32_t(0)) {
 26733  		goto __44
 26734  	}
 26735  	c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 26736  	clen = clen + 2
 26737  	goto __45
 26738  __44:
 26739  	if !(c&0x08 == Tuint32_t(0)) {
 26740  		goto __46
 26741  	}
 26742  	c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f
 26743  	clen = clen + 3
 26744  	goto __47
 26745  __46:
 26746  	if !(c&0x04 == Tuint32_t(0)) {
 26747  		goto __48
 26748  	}
 26749  	c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f
 26750  	clen = clen + 4
 26751  	goto __49
 26752  __48:
 26753  	c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f
 26754  	clen = clen + 5
 26755  __49:
 26756  	;
 26757  __47:
 26758  	;
 26759  __45:
 26760  	;
 26761  __43:
 26762  	;
 26763  __41:
 26764  	;
 26765  
 26766  	goto __40
 26767  __39:
 26768  
 26769  	clen = 0 // This indicates the end of the subject
 26770  	c = DNOTACHAR // This value should never actually be used
 26771  __40:
 26772  	;
 26773  
 26774  	// Scan up the active states and act on each one. The result of an action
 26775  	//   may be to add more states to the currently active list (e.g. on hitting a
 26776  	//   parenthesis) or it may be to put states on the new list, for considering
 26777  	//   when we move the character pointer on.
 26778  
 26779  	i = 0
 26780  __50:
 26781  	if !(i < active_count) {
 26782  		goto __52
 26783  	}
 26784  	current_state = active_states + uintptr(i)*12
 26785  	caseless = DFALSE
 26786  	state_offset = (*Tstateblock)(unsafe.Pointer(current_state)).Foffset
 26787  
 26788  	// A negative offset is a special case meaning "hold off going to this
 26789  	//     (negated) state until the number of characters in the data field have
 26790  	//     been skipped". If the could_continue flag was passed over from a previous
 26791  	//     state, arrange for it to passed on.
 26792  
 26793  	if !(state_offset < 0) {
 26794  		goto __53
 26795  	}
 26796  
 26797  	if !((*Tstateblock)(unsafe.Pointer(current_state)).Fdata > 0) {
 26798  		goto __54
 26799  	}
 26800  
 26801  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 26802  		goto __56
 26803  	}
 26804  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 26805  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount
 26806  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = (*Tstateblock)(unsafe.Pointer(current_state)).Fdata - 1
 26807  	next_new_state += 12
 26808  	goto __57
 26809  __56:
 26810  	return -43
 26811  __57:
 26812  	;
 26813  	if !(could_continue != 0) {
 26814  		goto __58
 26815  	}
 26816  	reset_could_continue = DTRUE
 26817  __58:
 26818  	;
 26819  	goto __51
 26820  	goto __55
 26821  __54:
 26822  
 26823  	(*Tstateblock)(unsafe.Pointer(current_state)).Foffset = libc.AssignInt32(&state_offset, -state_offset)
 26824  __55:
 26825  	;
 26826  __53:
 26827  	;
 26828  
 26829  	// Check for a duplicate state with the same count, and skip if found.
 26830  	//     See the note at the head of this module about the possibility of improving
 26831  	//     performance here.
 26832  
 26833  	j = 0
 26834  __59:
 26835  	if !(j < i) {
 26836  		goto __61
 26837  	}
 26838  
 26839  	if !((*Tstateblock)(unsafe.Pointer(active_states+uintptr(j)*12)).Foffset == state_offset && (*Tstateblock)(unsafe.Pointer(active_states+uintptr(j)*12)).Fcount == (*Tstateblock)(unsafe.Pointer(current_state)).Fcount) {
 26840  		goto __62
 26841  	}
 26842  	goto NEXT_ACTIVE_STATE
 26843  __62:
 26844  	;
 26845  	goto __60
 26846  __60:
 26847  	j++
 26848  	goto __59
 26849  	goto __61
 26850  __61:
 26851  	;
 26852  
 26853  	// The state offset is the offset to the opcode
 26854  
 26855  	code = start_code + uintptr(state_offset)
 26856  	codevalue = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code)))
 26857  
 26858  	// If this opcode inspects a character, but we are at the end of the
 26859  	//     subject, remember the fact for use when testing for a partial match.
 26860  
 26861  	if !(clen == 0 && int32(poptable[codevalue]) != 0) {
 26862  		goto __63
 26863  	}
 26864  	could_continue = DTRUE
 26865  __63:
 26866  	;
 26867  
 26868  	// If this opcode is followed by an inline character, load it. It is
 26869  	//     tempting to test for the presence of a subject character here, but that
 26870  	//     is wrong, because sometimes zero repetitions of the subject are
 26871  	//     permitted.
 26872  	//
 26873  	//     We also use this mechanism for opcodes such as OP_TYPEPLUS that take an
 26874  	//     argument that is not a data character - but is always one byte long because
 26875  	//     the values are small. We have to take special action to deal with  \P, \p,
 26876  	//     \H, \h, \V, \v and \X in this case. To keep the other cases fast, convert
 26877  	//     these ones to new opcodes.
 26878  
 26879  	if !(int32(coptable[codevalue]) > 0) {
 26880  		goto __64
 26881  	}
 26882  
 26883  	dlen = 1
 26884  	if !(utf != 0) {
 26885  		goto __66
 26886  	}
 26887  	d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]))))
 26888  	if !(d >= 0xc0) {
 26889  		goto __68
 26890  	}
 26891  	if !(d&0x20 == Tuint32_t(0)) {
 26892  		goto __69
 26893  	}
 26894  	d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f
 26895  	dlen++
 26896  	goto __70
 26897  __69:
 26898  	if !(d&0x10 == Tuint32_t(0)) {
 26899  		goto __71
 26900  	}
 26901  	d = d&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 2)))&0x3f
 26902  	dlen = dlen + 2
 26903  	goto __72
 26904  __71:
 26905  	if !(d&0x08 == Tuint32_t(0)) {
 26906  		goto __73
 26907  	}
 26908  	d = d&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 3)))&0x3f
 26909  	dlen = dlen + 3
 26910  	goto __74
 26911  __73:
 26912  	if !(d&0x04 == Tuint32_t(0)) {
 26913  		goto __75
 26914  	}
 26915  	d = d&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 4)))&0x3f
 26916  	dlen = dlen + 4
 26917  	goto __76
 26918  __75:
 26919  	d = d&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]) + 5)))&0x3f
 26920  	dlen = dlen + 5
 26921  __76:
 26922  	;
 26923  __74:
 26924  	;
 26925  __72:
 26926  	;
 26927  __70:
 26928  	;
 26929  __68:
 26930  	;
 26931  
 26932  	goto __67
 26933  __66:
 26934  	d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + uintptr(coptable[codevalue]))))
 26935  __67:
 26936  	;
 26937  	if !(codevalue >= OP_TYPESTAR) {
 26938  		goto __77
 26939  	}
 26940  
 26941  	switch d {
 26942  	case OP_ANYBYTE:
 26943  		goto __79
 26944  	case OP_NOTPROP:
 26945  		goto __80
 26946  	case OP_PROP:
 26947  		goto __81
 26948  	case OP_ANYNL:
 26949  		goto __82
 26950  	case OP_EXTUNI:
 26951  		goto __83
 26952  	case OP_NOT_HSPACE:
 26953  		goto __84
 26954  	case OP_HSPACE:
 26955  		goto __85
 26956  	case OP_NOT_VSPACE:
 26957  		goto __86
 26958  	case OP_VSPACE:
 26959  		goto __87
 26960  	default:
 26961  		goto __88
 26962  	}
 26963  	goto __78
 26964  
 26965  __79:
 26966  	return -42
 26967  __80:
 26968  __81:
 26969  	codevalue = codevalue + Tuint32_t(DOP_PROP_EXTRA)
 26970  	goto __78
 26971  __82:
 26972  	codevalue = codevalue + Tuint32_t(DOP_ANYNL_EXTRA)
 26973  	goto __78
 26974  __83:
 26975  	codevalue = codevalue + Tuint32_t(DOP_EXTUNI_EXTRA)
 26976  	goto __78
 26977  __84:
 26978  __85:
 26979  	codevalue = codevalue + Tuint32_t(DOP_HSPACE_EXTRA)
 26980  	goto __78
 26981  __86:
 26982  __87:
 26983  	codevalue = codevalue + Tuint32_t(DOP_VSPACE_EXTRA)
 26984  	goto __78
 26985  __88:
 26986  	goto __78
 26987  __78:
 26988  	;
 26989  __77:
 26990  	;
 26991  	goto __65
 26992  __64:
 26993  
 26994  	dlen = 0 // Not strictly necessary, but compilers moan
 26995  	d = DNOTACHAR // if these variables are not set.
 26996  __65:
 26997  	;
 26998  
 26999  	// Now process the individual opcodes
 27000  
 27001  	switch codevalue {
 27002  	// ==========================================================================
 27003  	// These cases are never obeyed. This is a fudge that causes a compile-
 27004  	//       time error if the vectors coptable or poptable, which are indexed by
 27005  	//       opcode, are not the correct length. It seems to be the only way to do
 27006  	//       such a check at compile time, as the sizeof() operator does not work
 27007  	//       in the C preprocessor.
 27008  
 27009  	case OP_TABLE_LENGTH:
 27010  		goto __90
 27011  	case Tuint32_t(OP_TABLE_LENGTH + libc.Bool32(uint64(unsafe.Sizeof(coptable)) == OP_TABLE_LENGTH && uint64(unsafe.Sizeof(poptable)) == OP_TABLE_LENGTH)):
 27012  		goto __91
 27013  
 27014  		// ==========================================================================
 27015  	// Reached a closing bracket. If not at the end of the pattern, carry
 27016  	//       on with the next opcode. For repeating opcodes, also add the repeat
 27017  	//       state. Note that KETRPOS will always be encountered at the end of the
 27018  	//       subpattern, because the possessive subpattern repeats are always handled
 27019  	//       using recursive calls. Thus, it never adds any new states.
 27020  	//
 27021  	//       At the end of the (sub)pattern, unless we have an empty string and
 27022  	//       PCRE2_NOTEMPTY is set, or PCRE2_NOTEMPTY_ATSTART is set and we are at the
 27023  	//       start of the subject, save the match data, shifting up all previous
 27024  	//       matches so we always have the longest first.
 27025  
 27026  	case OP_KET:
 27027  		goto __92
 27028  	case OP_KETRMIN:
 27029  		goto __93
 27030  	case OP_KETRMAX:
 27031  		goto __94
 27032  	case OP_KETRPOS:
 27033  		goto __95
 27034  
 27035  		// ==========================================================================
 27036  	// These opcodes add to the current list of states without looking
 27037  	//       at the current character.
 27038  
 27039  	//-----------------------------------------------------------------
 27040  	case OP_ALT:
 27041  		goto __96
 27042  
 27043  	//-----------------------------------------------------------------
 27044  	case OP_BRA:
 27045  		goto __97
 27046  	case OP_SBRA:
 27047  		goto __98
 27048  
 27049  	//-----------------------------------------------------------------
 27050  	case OP_CBRA:
 27051  		goto __99
 27052  	case OP_SCBRA:
 27053  		goto __100
 27054  
 27055  	//-----------------------------------------------------------------
 27056  	case OP_BRAZERO:
 27057  		goto __101
 27058  	case OP_BRAMINZERO:
 27059  		goto __102
 27060  
 27061  	//-----------------------------------------------------------------
 27062  	case OP_SKIPZERO:
 27063  		goto __103
 27064  
 27065  	//-----------------------------------------------------------------
 27066  	case OP_CIRC:
 27067  		goto __104
 27068  
 27069  	//-----------------------------------------------------------------
 27070  	case OP_CIRCM:
 27071  		goto __105
 27072  
 27073  	//-----------------------------------------------------------------
 27074  	case OP_EOD:
 27075  		goto __106
 27076  
 27077  	//-----------------------------------------------------------------
 27078  	case OP_SOD:
 27079  		goto __107
 27080  
 27081  	//-----------------------------------------------------------------
 27082  	case OP_SOM:
 27083  		goto __108
 27084  
 27085  		// ==========================================================================
 27086  	// These opcodes inspect the next subject character, and sometimes
 27087  	//       the previous one as well, but do not have an argument. The variable
 27088  	//       clen contains the length of the current character and is zero if we are
 27089  	//       at the end of the subject.
 27090  
 27091  	//-----------------------------------------------------------------
 27092  	case OP_ANY:
 27093  		goto __109
 27094  
 27095  	//-----------------------------------------------------------------
 27096  	case OP_ALLANY:
 27097  		goto __110
 27098  
 27099  	//-----------------------------------------------------------------
 27100  	case OP_EODN:
 27101  		goto __111
 27102  
 27103  	//-----------------------------------------------------------------
 27104  	case OP_DOLL:
 27105  		goto __112
 27106  
 27107  	//-----------------------------------------------------------------
 27108  	case OP_DOLLM:
 27109  		goto __113
 27110  
 27111  	//-----------------------------------------------------------------
 27112  
 27113  	case OP_DIGIT:
 27114  		goto __114
 27115  	case OP_WHITESPACE:
 27116  		goto __115
 27117  	case OP_WORDCHAR:
 27118  		goto __116
 27119  
 27120  	//-----------------------------------------------------------------
 27121  	case OP_NOT_DIGIT:
 27122  		goto __117
 27123  	case OP_NOT_WHITESPACE:
 27124  		goto __118
 27125  	case OP_NOT_WORDCHAR:
 27126  		goto __119
 27127  
 27128  	//-----------------------------------------------------------------
 27129  	case OP_WORD_BOUNDARY:
 27130  		goto __120
 27131  	case OP_NOT_WORD_BOUNDARY:
 27132  		goto __121
 27133  
 27134  	//-----------------------------------------------------------------
 27135  	// Check the next character by Unicode property. We will get here only
 27136  	//       if the support is in the binary; otherwise a compile-time error occurs.
 27137  	//
 27138  
 27139  	case OP_PROP:
 27140  		goto __122
 27141  	case OP_NOTPROP:
 27142  		goto __123
 27143  
 27144  		// ==========================================================================
 27145  	// These opcodes likewise inspect the subject character, but have an
 27146  	//       argument that is not a data character. It is one of these opcodes:
 27147  	//       OP_ANY, OP_ALLANY, OP_DIGIT, OP_NOT_DIGIT, OP_WHITESPACE, OP_NOT_SPACE,
 27148  	//       OP_WORDCHAR, OP_NOT_WORDCHAR. The value is loaded into d.
 27149  
 27150  	case OP_TYPEPLUS:
 27151  		goto __124
 27152  	case OP_TYPEMINPLUS:
 27153  		goto __125
 27154  	case OP_TYPEPOSPLUS:
 27155  		goto __126
 27156  
 27157  	//-----------------------------------------------------------------
 27158  	case OP_TYPEQUERY:
 27159  		goto __127
 27160  	case OP_TYPEMINQUERY:
 27161  		goto __128
 27162  	case OP_TYPEPOSQUERY:
 27163  		goto __129
 27164  
 27165  	//-----------------------------------------------------------------
 27166  	case OP_TYPESTAR:
 27167  		goto __130
 27168  	case OP_TYPEMINSTAR:
 27169  		goto __131
 27170  	case OP_TYPEPOSSTAR:
 27171  		goto __132
 27172  
 27173  	//-----------------------------------------------------------------
 27174  	case OP_TYPEEXACT:
 27175  		goto __133
 27176  
 27177  	//-----------------------------------------------------------------
 27178  	case OP_TYPEUPTO:
 27179  		goto __134
 27180  	case OP_TYPEMINUPTO:
 27181  		goto __135
 27182  	case OP_TYPEPOSUPTO:
 27183  		goto __136
 27184  
 27185  		// ==========================================================================
 27186  	// These are virtual opcodes that are used when something like
 27187  	//       OP_TYPEPLUS has OP_PROP, OP_NOTPROP, OP_ANYNL, or OP_EXTUNI as its
 27188  	//       argument. It keeps the code above fast for the other cases. The argument
 27189  	//       is in the d variable.
 27190  
 27191  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPLUS):
 27192  		goto __137
 27193  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINPLUS):
 27194  		goto __138
 27195  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSPLUS):
 27196  		goto __139
 27197  
 27198  	//-----------------------------------------------------------------
 27199  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPLUS):
 27200  		goto __140
 27201  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINPLUS):
 27202  		goto __141
 27203  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSPLUS):
 27204  		goto __142
 27205  
 27206  	//-----------------------------------------------------------------
 27207  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPLUS):
 27208  		goto __143
 27209  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINPLUS):
 27210  		goto __144
 27211  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSPLUS):
 27212  		goto __145
 27213  
 27214  	//-----------------------------------------------------------------
 27215  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPLUS):
 27216  		goto __146
 27217  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINPLUS):
 27218  		goto __147
 27219  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSPLUS):
 27220  		goto __148
 27221  
 27222  	//-----------------------------------------------------------------
 27223  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPLUS):
 27224  		goto __149
 27225  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINPLUS):
 27226  		goto __150
 27227  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSPLUS):
 27228  		goto __151
 27229  
 27230  	//-----------------------------------------------------------------
 27231  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEQUERY):
 27232  		goto __152
 27233  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINQUERY):
 27234  		goto __153
 27235  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSQUERY):
 27236  		goto __154
 27237  
 27238  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPESTAR):
 27239  		goto __155
 27240  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINSTAR):
 27241  		goto __156
 27242  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSSTAR):
 27243  		goto __157
 27244  
 27245  	//-----------------------------------------------------------------
 27246  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEQUERY):
 27247  		goto __158
 27248  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINQUERY):
 27249  		goto __159
 27250  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSQUERY):
 27251  		goto __160
 27252  
 27253  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPESTAR):
 27254  		goto __161
 27255  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINSTAR):
 27256  		goto __162
 27257  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSSTAR):
 27258  		goto __163
 27259  
 27260  	//-----------------------------------------------------------------
 27261  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEQUERY):
 27262  		goto __164
 27263  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINQUERY):
 27264  		goto __165
 27265  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSQUERY):
 27266  		goto __166
 27267  
 27268  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPESTAR):
 27269  		goto __167
 27270  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINSTAR):
 27271  		goto __168
 27272  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSSTAR):
 27273  		goto __169
 27274  
 27275  	//-----------------------------------------------------------------
 27276  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEQUERY):
 27277  		goto __170
 27278  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINQUERY):
 27279  		goto __171
 27280  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSQUERY):
 27281  		goto __172
 27282  
 27283  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPESTAR):
 27284  		goto __173
 27285  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINSTAR):
 27286  		goto __174
 27287  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSSTAR):
 27288  		goto __175
 27289  
 27290  	//-----------------------------------------------------------------
 27291  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEQUERY):
 27292  		goto __176
 27293  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINQUERY):
 27294  		goto __177
 27295  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSQUERY):
 27296  		goto __178
 27297  
 27298  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPESTAR):
 27299  		goto __179
 27300  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINSTAR):
 27301  		goto __180
 27302  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSSTAR):
 27303  		goto __181
 27304  
 27305  	//-----------------------------------------------------------------
 27306  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEEXACT):
 27307  		goto __182
 27308  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEUPTO):
 27309  		goto __183
 27310  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEMINUPTO):
 27311  		goto __184
 27312  	case Tuint32_t(DOP_PROP_EXTRA + OP_TYPEPOSUPTO):
 27313  		goto __185
 27314  
 27315  	//-----------------------------------------------------------------
 27316  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEEXACT):
 27317  		goto __186
 27318  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEUPTO):
 27319  		goto __187
 27320  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEMINUPTO):
 27321  		goto __188
 27322  	case Tuint32_t(DOP_EXTUNI_EXTRA + OP_TYPEPOSUPTO):
 27323  		goto __189
 27324  
 27325  	//-----------------------------------------------------------------
 27326  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEEXACT):
 27327  		goto __190
 27328  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEUPTO):
 27329  		goto __191
 27330  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEMINUPTO):
 27331  		goto __192
 27332  	case Tuint32_t(DOP_ANYNL_EXTRA + OP_TYPEPOSUPTO):
 27333  		goto __193
 27334  
 27335  	//-----------------------------------------------------------------
 27336  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEEXACT):
 27337  		goto __194
 27338  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEUPTO):
 27339  		goto __195
 27340  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEMINUPTO):
 27341  		goto __196
 27342  	case Tuint32_t(DOP_VSPACE_EXTRA + OP_TYPEPOSUPTO):
 27343  		goto __197
 27344  
 27345  	//-----------------------------------------------------------------
 27346  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEEXACT):
 27347  		goto __198
 27348  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEUPTO):
 27349  		goto __199
 27350  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEMINUPTO):
 27351  		goto __200
 27352  	case Tuint32_t(DOP_HSPACE_EXTRA + OP_TYPEPOSUPTO):
 27353  		goto __201
 27354  
 27355  		// ==========================================================================
 27356  	// These opcodes are followed by a character that is usually compared
 27357  	//       to the current subject character; it is loaded into d. We still get
 27358  	//       here even if there is no subject character, because in some cases zero
 27359  	//       repetitions are permitted.
 27360  
 27361  	//-----------------------------------------------------------------
 27362  	case OP_CHAR:
 27363  		goto __202
 27364  
 27365  	//-----------------------------------------------------------------
 27366  	case OP_CHARI:
 27367  		goto __203
 27368  
 27369  	//-----------------------------------------------------------------
 27370  	// This is a tricky one because it can match more than one character.
 27371  	//       Find out how many characters to skip, and then set up a negative state
 27372  	//       to wait for them to pass before continuing.
 27373  
 27374  	case OP_EXTUNI:
 27375  		goto __204
 27376  
 27377  	//-----------------------------------------------------------------
 27378  	// This is a tricky like EXTUNI because it too can match more than one
 27379  	//       character (when CR is followed by LF). In this case, set up a negative
 27380  	//       state to wait for one character to pass before continuing.
 27381  
 27382  	case OP_ANYNL:
 27383  		goto __205
 27384  
 27385  	//-----------------------------------------------------------------
 27386  	case OP_NOT_VSPACE:
 27387  		goto __206
 27388  
 27389  	//-----------------------------------------------------------------
 27390  	case OP_VSPACE:
 27391  		goto __207
 27392  
 27393  	//-----------------------------------------------------------------
 27394  	case OP_NOT_HSPACE:
 27395  		goto __208
 27396  
 27397  	//-----------------------------------------------------------------
 27398  	case OP_HSPACE:
 27399  		goto __209
 27400  
 27401  	//-----------------------------------------------------------------
 27402  	// Match a negated single character casefully.
 27403  
 27404  	case OP_NOT:
 27405  		goto __210
 27406  
 27407  	//-----------------------------------------------------------------
 27408  	// Match a negated single character caselessly.
 27409  
 27410  	case OP_NOTI:
 27411  		goto __211
 27412  
 27413  	//-----------------------------------------------------------------
 27414  	case OP_PLUSI:
 27415  		goto __212
 27416  	case OP_MINPLUSI:
 27417  		goto __213
 27418  	case OP_POSPLUSI:
 27419  		goto __214
 27420  	case OP_NOTPLUSI:
 27421  		goto __215
 27422  	case OP_NOTMINPLUSI:
 27423  		goto __216
 27424  	case OP_NOTPOSPLUSI:
 27425  		goto __217
 27426  
 27427  	// Fall through
 27428  	case OP_PLUS:
 27429  		goto __218
 27430  	case OP_MINPLUS:
 27431  		goto __219
 27432  	case OP_POSPLUS:
 27433  		goto __220
 27434  	case OP_NOTPLUS:
 27435  		goto __221
 27436  	case OP_NOTMINPLUS:
 27437  		goto __222
 27438  	case OP_NOTPOSPLUS:
 27439  		goto __223
 27440  
 27441  	//-----------------------------------------------------------------
 27442  	case OP_QUERYI:
 27443  		goto __224
 27444  	case OP_MINQUERYI:
 27445  		goto __225
 27446  	case OP_POSQUERYI:
 27447  		goto __226
 27448  	case OP_NOTQUERYI:
 27449  		goto __227
 27450  	case OP_NOTMINQUERYI:
 27451  		goto __228
 27452  	case OP_NOTPOSQUERYI:
 27453  		goto __229
 27454  	// Fall through
 27455  	case OP_QUERY:
 27456  		goto __230
 27457  	case OP_MINQUERY:
 27458  		goto __231
 27459  	case OP_POSQUERY:
 27460  		goto __232
 27461  	case OP_NOTQUERY:
 27462  		goto __233
 27463  	case OP_NOTMINQUERY:
 27464  		goto __234
 27465  	case OP_NOTPOSQUERY:
 27466  		goto __235
 27467  
 27468  	//-----------------------------------------------------------------
 27469  	case OP_STARI:
 27470  		goto __236
 27471  	case OP_MINSTARI:
 27472  		goto __237
 27473  	case OP_POSSTARI:
 27474  		goto __238
 27475  	case OP_NOTSTARI:
 27476  		goto __239
 27477  	case OP_NOTMINSTARI:
 27478  		goto __240
 27479  	case OP_NOTPOSSTARI:
 27480  		goto __241
 27481  	// Fall through
 27482  	case OP_STAR:
 27483  		goto __242
 27484  	case OP_MINSTAR:
 27485  		goto __243
 27486  	case OP_POSSTAR:
 27487  		goto __244
 27488  	case OP_NOTSTAR:
 27489  		goto __245
 27490  	case OP_NOTMINSTAR:
 27491  		goto __246
 27492  	case OP_NOTPOSSTAR:
 27493  		goto __247
 27494  
 27495  	//-----------------------------------------------------------------
 27496  	case OP_EXACTI:
 27497  		goto __248
 27498  	case OP_NOTEXACTI:
 27499  		goto __249
 27500  	// Fall through
 27501  	case OP_EXACT:
 27502  		goto __250
 27503  	case OP_NOTEXACT:
 27504  		goto __251
 27505  
 27506  	//-----------------------------------------------------------------
 27507  	case OP_UPTOI:
 27508  		goto __252
 27509  	case OP_MINUPTOI:
 27510  		goto __253
 27511  	case OP_POSUPTOI:
 27512  		goto __254
 27513  	case OP_NOTUPTOI:
 27514  		goto __255
 27515  	case OP_NOTMINUPTOI:
 27516  		goto __256
 27517  	case OP_NOTPOSUPTOI:
 27518  		goto __257
 27519  	// Fall through
 27520  	case OP_UPTO:
 27521  		goto __258
 27522  	case OP_MINUPTO:
 27523  		goto __259
 27524  	case OP_POSUPTO:
 27525  		goto __260
 27526  	case OP_NOTUPTO:
 27527  		goto __261
 27528  	case OP_NOTMINUPTO:
 27529  		goto __262
 27530  	case OP_NOTPOSUPTO:
 27531  		goto __263
 27532  
 27533  		// ==========================================================================
 27534  	// These are the class-handling opcodes
 27535  
 27536  	case OP_CLASS:
 27537  		goto __264
 27538  	case OP_NCLASS:
 27539  		goto __265
 27540  	case OP_XCLASS:
 27541  		goto __266
 27542  
 27543  		// ==========================================================================
 27544  	// These are the opcodes for fancy brackets of various kinds. We have
 27545  	//       to use recursion in order to handle them. The "always failing" assertion
 27546  	//       (?!) is optimised to OP_FAIL when compiling, so we have to support that,
 27547  	//       though the other "backtracking verbs" are not supported.
 27548  
 27549  	case OP_FAIL:
 27550  		goto __267
 27551  
 27552  	case OP_ASSERT:
 27553  		goto __268
 27554  	case OP_ASSERT_NOT:
 27555  		goto __269
 27556  	case OP_ASSERTBACK:
 27557  		goto __270
 27558  	case OP_ASSERTBACK_NOT:
 27559  		goto __271
 27560  
 27561  	//-----------------------------------------------------------------
 27562  	case OP_COND:
 27563  		goto __272
 27564  	case OP_SCOND:
 27565  		goto __273
 27566  
 27567  	//-----------------------------------------------------------------
 27568  	case OP_RECURSE:
 27569  		goto __274
 27570  
 27571  	//-----------------------------------------------------------------
 27572  	case OP_BRAPOS:
 27573  		goto __275
 27574  	case OP_SBRAPOS:
 27575  		goto __276
 27576  	case OP_CBRAPOS:
 27577  		goto __277
 27578  	case OP_SCBRAPOS:
 27579  		goto __278
 27580  	case OP_BRAPOSZERO:
 27581  		goto __279
 27582  
 27583  	//-----------------------------------------------------------------
 27584  	case OP_ONCE:
 27585  		goto __280
 27586  
 27587  		// ==========================================================================
 27588  	// Handle callouts
 27589  
 27590  	case OP_CALLOUT:
 27591  		goto __281
 27592  	case OP_CALLOUT_STR:
 27593  		goto __282
 27594  
 27595  		// ==========================================================================
 27596  	default:
 27597  		goto __283
 27598  	}
 27599  	goto __89
 27600  
 27601  	// ==========================================================================
 27602  	// These cases are never obeyed. This is a fudge that causes a compile-
 27603  	//       time error if the vectors coptable or poptable, which are indexed by
 27604  	//       opcode, are not the correct length. It seems to be the only way to do
 27605  	//       such a check at compile time, as the sizeof() operator does not work
 27606  	//       in the C preprocessor.
 27607  
 27608  __90:
 27609  __91:
 27610  	return 0
 27611  
 27612  	// ==========================================================================
 27613  	// Reached a closing bracket. If not at the end of the pattern, carry
 27614  	//       on with the next opcode. For repeating opcodes, also add the repeat
 27615  	//       state. Note that KETRPOS will always be encountered at the end of the
 27616  	//       subpattern, because the possessive subpattern repeats are always handled
 27617  	//       using recursive calls. Thus, it never adds any new states.
 27618  	//
 27619  	//       At the end of the (sub)pattern, unless we have an empty string and
 27620  	//       PCRE2_NOTEMPTY is set, or PCRE2_NOTEMPTY_ATSTART is set and we are at the
 27621  	//       start of the subject, save the match data, shifting up all previous
 27622  	//       matches so we always have the longest first.
 27623  
 27624  __92:
 27625  __93:
 27626  __94:
 27627  __95:
 27628  	if !(code != end_code) {
 27629  		goto __284
 27630  	}
 27631  
 27632  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27633  		goto __286
 27634  	}
 27635  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 + DLINK_SIZE
 27636  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27637  	next_active_state += 12
 27638  	goto __287
 27639  __286:
 27640  	return -43
 27641  __287:
 27642  	;
 27643  	if !(codevalue != OP_KET) {
 27644  		goto __288
 27645  	}
 27646  
 27647  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27648  		goto __289
 27649  	}
 27650  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset - int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27651  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27652  	next_active_state += 12
 27653  	goto __290
 27654  __289:
 27655  	return -43
 27656  __290:
 27657  	;
 27658  __288:
 27659  	;
 27660  	goto __285
 27661  __284:
 27662  
 27663  	if !(ptr > current_subject || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEMPTY == Tuint32_t(0) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEMPTY_ATSTART == Tuint32_t(0) || current_subject > start_subject+uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_offset))) {
 27664  		goto __291
 27665  	}
 27666  
 27667  	if !(match_count < 0) {
 27668  		goto __292
 27669  	}
 27670  	if offsetcount >= Tuint32_t(2) {
 27671  		match_count = 1
 27672  	} else {
 27673  		match_count = 0
 27674  	}
 27675  	goto __293
 27676  __292:
 27677  	if !(match_count > 0 && libc.PreIncInt32(&match_count, 1)*2 > int32(offsetcount)) {
 27678  		goto __294
 27679  	}
 27680  	match_count = 0
 27681  __294:
 27682  	;
 27683  __293:
 27684  	;
 27685  	count = func() int32 {
 27686  		if match_count == 0 {
 27687  			return int32(offsetcount)
 27688  		}
 27689  		return match_count * 2
 27690  	}() - 2
 27691  	if !(count > 0) {
 27692  		goto __295
 27693  	}
 27694  	libc.Xmemmove(tls, offsets+uintptr(2)*8, offsets,
 27695  		Tsize_t(count)*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 27696  __295:
 27697  	;
 27698  	if !(offsetcount >= Tuint32_t(2)) {
 27699  		goto __296
 27700  	}
 27701  
 27702  	*(*Tsize_t)(unsafe.Pointer(offsets)) = Tsize_t((int64(current_subject) - int64(start_subject)) / 1)
 27703  	*(*Tsize_t)(unsafe.Pointer(offsets + 1*8)) = Tsize_t((int64(ptr) - int64(start_subject)) / 1)
 27704  __296:
 27705  	;
 27706  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_DFA_SHORTEST != Tuint32_t(0)) {
 27707  		goto __297
 27708  	}
 27709  	return match_count
 27710  __297:
 27711  	;
 27712  __291:
 27713  	;
 27714  __285:
 27715  	;
 27716  	goto __89
 27717  
 27718  	// ==========================================================================
 27719  	// These opcodes add to the current list of states without looking
 27720  	//       at the current character.
 27721  
 27722  	//-----------------------------------------------------------------
 27723  __96:
 27724  __298:
 27725  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27726  	goto __299
 27727  __299:
 27728  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 27729  		goto __298
 27730  	}
 27731  	goto __300
 27732  __300:
 27733  	;
 27734  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27735  		goto __301
 27736  	}
 27737  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code) - int64(start_code)) / 1)
 27738  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27739  	next_active_state += 12
 27740  	goto __302
 27741  __301:
 27742  	return -43
 27743  __302:
 27744  	;
 27745  	goto __89
 27746  
 27747  	//-----------------------------------------------------------------
 27748  __97:
 27749  __98:
 27750  __303:
 27751  
 27752  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27753  		goto __306
 27754  	}
 27755  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE))
 27756  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27757  	next_active_state += 12
 27758  	goto __307
 27759  __306:
 27760  	return -43
 27761  __307:
 27762  	;
 27763  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27764  	goto __304
 27765  __304:
 27766  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 27767  		goto __303
 27768  	}
 27769  	goto __305
 27770  __305:
 27771  	;
 27772  	goto __89
 27773  
 27774  	//-----------------------------------------------------------------
 27775  __99:
 27776  __100:
 27777  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27778  		goto __308
 27779  	}
 27780  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE) + int64(DIMM2_SIZE))
 27781  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27782  	next_active_state += 12
 27783  	goto __309
 27784  __308:
 27785  	return -43
 27786  __309:
 27787  	;
 27788  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27789  __310:
 27790  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT) {
 27791  		goto __311
 27792  	}
 27793  
 27794  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27795  		goto __312
 27796  	}
 27797  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE))
 27798  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27799  	next_active_state += 12
 27800  	goto __313
 27801  __312:
 27802  	return -43
 27803  __313:
 27804  	;
 27805  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27806  	goto __310
 27807  __311:
 27808  	;
 27809  	goto __89
 27810  
 27811  	//-----------------------------------------------------------------
 27812  __101:
 27813  __102:
 27814  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27815  		goto __314
 27816  	}
 27817  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27818  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27819  	next_active_state += 12
 27820  	goto __315
 27821  __314:
 27822  	return -43
 27823  __315:
 27824  	;
 27825  	code += TPCRE2_SPTR8(uint32(1) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))))
 27826  __316:
 27827  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT) {
 27828  		goto __317
 27829  	}
 27830  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27831  	goto __316
 27832  __317:
 27833  	;
 27834  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27835  		goto __318
 27836  	}
 27837  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE))
 27838  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27839  	next_active_state += 12
 27840  	goto __319
 27841  __318:
 27842  	return -43
 27843  __319:
 27844  	;
 27845  	goto __89
 27846  
 27847  	//-----------------------------------------------------------------
 27848  __103:
 27849  	code += TPCRE2_SPTR8(uint32(1) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))))
 27850  __320:
 27851  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT) {
 27852  		goto __321
 27853  	}
 27854  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 27855  	goto __320
 27856  __321:
 27857  	;
 27858  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27859  		goto __322
 27860  	}
 27861  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(code)-int64(start_code))/1 + int64(1) + int64(DLINK_SIZE))
 27862  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27863  	next_active_state += 12
 27864  	goto __323
 27865  __322:
 27866  	return -43
 27867  __323:
 27868  	;
 27869  	goto __89
 27870  
 27871  	//-----------------------------------------------------------------
 27872  __104:
 27873  	if !(ptr == start_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTBOL == Tuint32_t(0)) {
 27874  		goto __324
 27875  	}
 27876  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27877  		goto __325
 27878  	}
 27879  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27880  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27881  	next_active_state += 12
 27882  	goto __326
 27883  __325:
 27884  	return -43
 27885  __326:
 27886  	;
 27887  __324:
 27888  	;
 27889  	goto __89
 27890  
 27891  	//-----------------------------------------------------------------
 27892  __105:
 27893  	if !(ptr == start_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTBOL == Tuint32_t(0) || (ptr != end_subject || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_ALT_CIRCUMFLEX != Tuint32_t(0)) &&
 27894  		func() int32 {
 27895  			if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 27896  				return libc.Bool32(ptr > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+120, utf) != 0)
 27897  			}
 27898  			return libc.Bool32(ptr >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 27899  		}() != 0) {
 27900  		goto __327
 27901  	}
 27902  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27903  		goto __328
 27904  	}
 27905  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27906  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27907  	next_active_state += 12
 27908  	goto __329
 27909  __328:
 27910  	return -43
 27911  __329:
 27912  	;
 27913  __327:
 27914  	;
 27915  	goto __89
 27916  
 27917  	//-----------------------------------------------------------------
 27918  __106:
 27919  	if !(ptr >= end_subject) {
 27920  		goto __330
 27921  	}
 27922  
 27923  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 27924  		goto __331
 27925  	}
 27926  	return -2
 27927  	goto __332
 27928  __331:
 27929  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27930  		goto __333
 27931  	}
 27932  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27933  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27934  	next_active_state += 12
 27935  	goto __334
 27936  __333:
 27937  	return -43
 27938  __334:
 27939  	;
 27940  __332:
 27941  	;
 27942  __330:
 27943  	;
 27944  	goto __89
 27945  
 27946  	//-----------------------------------------------------------------
 27947  __107:
 27948  	if !(ptr == start_subject) {
 27949  		goto __335
 27950  	}
 27951  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27952  		goto __336
 27953  	}
 27954  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27955  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27956  	next_active_state += 12
 27957  	goto __337
 27958  __336:
 27959  	return -43
 27960  __337:
 27961  	;
 27962  __335:
 27963  	;
 27964  	goto __89
 27965  
 27966  	//-----------------------------------------------------------------
 27967  __108:
 27968  	if !(ptr == start_subject+uintptr(start_offset)) {
 27969  		goto __338
 27970  	}
 27971  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 27972  		goto __339
 27973  	}
 27974  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 27975  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 27976  	next_active_state += 12
 27977  	goto __340
 27978  __339:
 27979  	return -43
 27980  __340:
 27981  	;
 27982  __338:
 27983  	;
 27984  	goto __89
 27985  
 27986  	// ==========================================================================
 27987  	// These opcodes inspect the next subject character, and sometimes
 27988  	//       the previous one as well, but do not have an argument. The variable
 27989  	//       clen contains the length of the current character and is zero if we are
 27990  	//       at the end of the subject.
 27991  
 27992  	//-----------------------------------------------------------------
 27993  __109:
 27994  	if !(clen > 0 && !(func() int32 {
 27995  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 27996  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 27997  		}
 27998  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 27999  	}() != 0)) {
 28000  		goto __341
 28001  	}
 28002  
 28003  	if !(ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28004  		goto __342
 28005  	}
 28006  
 28007  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28008  	goto __343
 28009  __342:
 28010  
 28011  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28012  		goto __344
 28013  	}
 28014  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 28015  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28016  	next_new_state += 12
 28017  	goto __345
 28018  __344:
 28019  	return -43
 28020  __345:
 28021  	;
 28022  __343:
 28023  	;
 28024  __341:
 28025  	;
 28026  	goto __89
 28027  
 28028  	//-----------------------------------------------------------------
 28029  __110:
 28030  	if !(clen > 0) {
 28031  		goto __346
 28032  	}
 28033  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28034  		goto __347
 28035  	}
 28036  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 28037  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28038  	next_new_state += 12
 28039  	goto __348
 28040  __347:
 28041  	return -43
 28042  __348:
 28043  	;
 28044  __346:
 28045  	;
 28046  	goto __89
 28047  
 28048  	//-----------------------------------------------------------------
 28049  __111:
 28050  	if !(clen == 0 || func() int32 {
 28051  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28052  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28053  		}
 28054  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28055  	}() != 0 && ptr == end_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)) {
 28056  		goto __349
 28057  	}
 28058  
 28059  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28060  		goto __350
 28061  	}
 28062  	return -2
 28063  __350:
 28064  	;
 28065  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28066  		goto __351
 28067  	}
 28068  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28069  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28070  	next_active_state += 12
 28071  	goto __352
 28072  __351:
 28073  	return -43
 28074  __352:
 28075  	;
 28076  __349:
 28077  	;
 28078  	goto __89
 28079  
 28080  	//-----------------------------------------------------------------
 28081  __112:
 28082  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL == Tuint32_t(0)) {
 28083  		goto __353
 28084  	}
 28085  
 28086  	if !(clen == 0 && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28087  		goto __354
 28088  	}
 28089  	could_continue = DTRUE
 28090  	goto __355
 28091  __354:
 28092  	if !(clen == 0 || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_DOLLAR_ENDONLY == Tuint32_t(0) && func() int32 {
 28093  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28094  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28095  		}
 28096  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28097  	}() != 0 && ptr == end_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)) {
 28098  		goto __356
 28099  	}
 28100  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28101  		goto __358
 28102  	}
 28103  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28104  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28105  	next_active_state += 12
 28106  	goto __359
 28107  __358:
 28108  	return -43
 28109  __359:
 28110  	;
 28111  	goto __357
 28112  __356:
 28113  	if !(ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28114  		goto __360
 28115  	}
 28116  
 28117  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28118  		goto __361
 28119  	}
 28120  
 28121  	reset_could_continue = DTRUE
 28122  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28123  		goto __363
 28124  	}
 28125  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1)
 28126  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28127  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 1
 28128  	next_new_state += 12
 28129  	goto __364
 28130  __363:
 28131  	return -43
 28132  __364:
 28133  	;
 28134  	goto __362
 28135  __361:
 28136  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28137  __362:
 28138  	;
 28139  __360:
 28140  	;
 28141  __357:
 28142  	;
 28143  __355:
 28144  	;
 28145  __353:
 28146  	;
 28147  	goto __89
 28148  
 28149  	//-----------------------------------------------------------------
 28150  __113:
 28151  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL == Tuint32_t(0)) {
 28152  		goto __365
 28153  	}
 28154  
 28155  	if !(clen == 0 && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28156  		goto __367
 28157  	}
 28158  	could_continue = DTRUE
 28159  	goto __368
 28160  __367:
 28161  	if !(clen == 0 || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_DOLLAR_ENDONLY == Tuint32_t(0) && func() int32 {
 28162  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28163  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28164  		}
 28165  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28166  	}() != 0) {
 28167  		goto __369
 28168  	}
 28169  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28170  		goto __371
 28171  	}
 28172  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28173  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28174  	next_active_state += 12
 28175  	goto __372
 28176  __371:
 28177  	return -43
 28178  __372:
 28179  	;
 28180  	goto __370
 28181  __369:
 28182  	if !(ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28183  		goto __373
 28184  	}
 28185  
 28186  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 28187  		goto __374
 28188  	}
 28189  
 28190  	reset_could_continue = DTRUE
 28191  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28192  		goto __376
 28193  	}
 28194  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1)
 28195  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28196  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 1
 28197  	next_new_state += 12
 28198  	goto __377
 28199  __376:
 28200  	return -43
 28201  __377:
 28202  	;
 28203  	goto __375
 28204  __374:
 28205  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28206  __375:
 28207  	;
 28208  __373:
 28209  	;
 28210  __370:
 28211  	;
 28212  __368:
 28213  	;
 28214  	goto __366
 28215  __365:
 28216  	if !(func() int32 {
 28217  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28218  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28219  		}
 28220  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28221  	}() != 0) {
 28222  		goto __378
 28223  	}
 28224  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28225  		goto __379
 28226  	}
 28227  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28228  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28229  	next_active_state += 12
 28230  	goto __380
 28231  __379:
 28232  	return -43
 28233  __380:
 28234  	;
 28235  __378:
 28236  	;
 28237  __366:
 28238  	;
 28239  	goto __89
 28240  
 28241  	//-----------------------------------------------------------------
 28242  
 28243  __114:
 28244  __115:
 28245  __116:
 28246  	if !(clen > 0 && c < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[codevalue])^int32(toptable2[codevalue]) != 0) {
 28247  		goto __381
 28248  	}
 28249  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28250  		goto __382
 28251  	}
 28252  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 28253  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28254  	next_new_state += 12
 28255  	goto __383
 28256  __382:
 28257  	return -43
 28258  __383:
 28259  	;
 28260  __381:
 28261  	;
 28262  	goto __89
 28263  
 28264  	//-----------------------------------------------------------------
 28265  __117:
 28266  __118:
 28267  __119:
 28268  	if !(clen > 0 && (c >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[codevalue])^int32(toptable2[codevalue]) != 0)) {
 28269  		goto __384
 28270  	}
 28271  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28272  		goto __385
 28273  	}
 28274  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 28275  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28276  	next_new_state += 12
 28277  	goto __386
 28278  __385:
 28279  	return -43
 28280  __386:
 28281  	;
 28282  __384:
 28283  	;
 28284  	goto __89
 28285  
 28286  	//-----------------------------------------------------------------
 28287  __120:
 28288  __121:
 28289  
 28290  	if !(ptr > start_subject) {
 28291  		goto __387
 28292  	}
 28293  
 28294  	temp = ptr - uintptr(1)
 28295  	if !(temp < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) {
 28296  		goto __389
 28297  	}
 28298  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = temp
 28299  __389:
 28300  	;
 28301  	if !(utf != 0) {
 28302  		goto __390
 28303  	}
 28304  __391:
 28305  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp)))&0xc0 == 0x80) {
 28306  		goto __392
 28307  	}
 28308  	temp--
 28309  	goto __391
 28310  __392:
 28311  	;
 28312  __390:
 28313  	;
 28314  	d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp)))
 28315  	if !(utf != 0 && d >= 0xc0) {
 28316  		goto __393
 28317  	}
 28318  	if !(d&0x20 == Tuint32_t(0)) {
 28319  		goto __394
 28320  	}
 28321  	d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f
 28322  	goto __395
 28323  __394:
 28324  	if !(d&0x10 == Tuint32_t(0)) {
 28325  		goto __396
 28326  	}
 28327  	d = d&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 2)))&0x3f
 28328  	goto __397
 28329  __396:
 28330  	if !(d&0x08 == Tuint32_t(0)) {
 28331  		goto __398
 28332  	}
 28333  	d = d&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 3)))&0x3f
 28334  	goto __399
 28335  __398:
 28336  	if !(d&0x04 == Tuint32_t(0)) {
 28337  		goto __400
 28338  	}
 28339  	d = d&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 4)))&0x3f
 28340  	goto __401
 28341  __400:
 28342  	d = d&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp + 5)))&0x3f
 28343  __401:
 28344  	;
 28345  __399:
 28346  	;
 28347  __397:
 28348  	;
 28349  __395:
 28350  	;
 28351  __393:
 28352  	;
 28353  
 28354  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) {
 28355  		goto __402
 28356  	}
 28357  
 28358  	if !(d == Tuint32_t('_')) {
 28359  		goto __404
 28360  	}
 28361  	left_word = DTRUE
 28362  	goto __405
 28363  __404:
 28364  
 28365  	cat = X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fchartype]
 28366  	left_word = libc.Bool32(cat == ucp_L || cat == ucp_N)
 28367  __405:
 28368  	;
 28369  	goto __403
 28370  __402:
 28371  	left_word = libc.Bool32(d < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(d))))&Dctype_word != 0)
 28372  __403:
 28373  	;
 28374  	goto __388
 28375  __387:
 28376  	left_word = DFALSE
 28377  __388:
 28378  	;
 28379  
 28380  	if !(clen > 0) {
 28381  		goto __406
 28382  	}
 28383  
 28384  	if !(ptr >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 28385  		goto __408
 28386  	}
 28387  
 28388  	temp1 = ptr + uintptr(1)
 28389  	if !(utf != 0) {
 28390  		goto __409
 28391  	}
 28392  __410:
 28393  	if !(temp1 < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(temp1)))&0xc0 == 0x80) {
 28394  		goto __411
 28395  	}
 28396  	temp1++
 28397  	goto __410
 28398  __411:
 28399  	;
 28400  __409:
 28401  	;
 28402  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = temp1
 28403  __408:
 28404  	;
 28405  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) {
 28406  		goto __412
 28407  	}
 28408  
 28409  	if !(c == Tuint32_t('_')) {
 28410  		goto __414
 28411  	}
 28412  	right_word = DTRUE
 28413  	goto __415
 28414  __414:
 28415  
 28416  	cat1 = X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fchartype]
 28417  	right_word = libc.Bool32(cat1 == ucp_L || cat1 == ucp_N)
 28418  __415:
 28419  	;
 28420  	goto __413
 28421  __412:
 28422  	right_word = libc.Bool32(c < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&Dctype_word != 0)
 28423  __413:
 28424  	;
 28425  	goto __407
 28426  __406:
 28427  	right_word = DFALSE
 28428  __407:
 28429  	;
 28430  
 28431  	if !(libc.Bool32(left_word == right_word) == libc.Bool32(codevalue == OP_NOT_WORD_BOUNDARY)) {
 28432  		goto __416
 28433  	}
 28434  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28435  		goto __417
 28436  	}
 28437  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1
 28438  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28439  	next_active_state += 12
 28440  	goto __418
 28441  __417:
 28442  	return -43
 28443  __418:
 28444  	;
 28445  __416:
 28446  	;
 28447  
 28448  	goto __89
 28449  
 28450  	//-----------------------------------------------------------------
 28451  	// Check the next character by Unicode property. We will get here only
 28452  	//       if the support is in the binary; otherwise a compile-time error occurs.
 28453  	//
 28454  
 28455  __122:
 28456  __123:
 28457  	if !(clen > 0) {
 28458  		goto __419
 28459  	}
 28460  
 28461  	prop = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12
 28462  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) {
 28463  	case DPT_ANY:
 28464  		goto __421
 28465  
 28466  	case DPT_LAMP:
 28467  		goto __422
 28468  
 28469  	case DPT_GC:
 28470  		goto __423
 28471  
 28472  	case DPT_PC:
 28473  		goto __424
 28474  
 28475  	case DPT_SC:
 28476  		goto __425
 28477  
 28478  	case DPT_SCX:
 28479  		goto __426
 28480  
 28481  	// These are specials for combination cases.
 28482  
 28483  	case DPT_ALNUM:
 28484  		goto __427
 28485  
 28486  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 28487  	//           which means that Perl space and POSIX space are now identical. PCRE
 28488  	//           was changed at release 8.34.
 28489  
 28490  	case DPT_SPACE:
 28491  		goto __428 // Perl space
 28492  	case DPT_PXSPACE:
 28493  		goto __429
 28494  
 28495  	case DPT_WORD:
 28496  		goto __430
 28497  
 28498  	case DPT_CLIST:
 28499  		goto __431
 28500  
 28501  	case DPT_UCNC:
 28502  		goto __432
 28503  
 28504  	case DPT_BIDICL:
 28505  		goto __433
 28506  
 28507  	case DPT_BOOL:
 28508  		goto __434
 28509  
 28510  	// Should never occur, but keep compilers from grumbling.
 28511  
 28512  	default:
 28513  		goto __435
 28514  	}
 28515  	goto __420
 28516  
 28517  __421:
 28518  	OK = DTRUE
 28519  	goto __420
 28520  
 28521  __422:
 28522  	OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lt)
 28523  	goto __420
 28524  
 28525  __423:
 28526  	OK = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))
 28527  	goto __420
 28528  
 28529  __424:
 28530  	OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))
 28531  	goto __420
 28532  
 28533  __425:
 28534  	OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))
 28535  	goto __420
 28536  
 28537  __426:
 28538  	OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))%32)) != Tuint32_t(0))
 28539  	goto __420
 28540  
 28541  	// These are specials for combination cases.
 28542  
 28543  __427:
 28544  	OK = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N)
 28545  	goto __420
 28546  
 28547  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 28548  	//           which means that Perl space and POSIX space are now identical. PCRE
 28549  	//           was changed at release 8.34.
 28550  
 28551  __428: // Perl space
 28552  __429: // POSIX space
 28553  	switch c {
 28554  	case Tuint32_t('\011'):
 28555  		goto __437
 28556  	case Tuint32_t('\040'):
 28557  		goto __438
 28558  	case Tuint32_t(uint8('\xa0')):
 28559  		goto __439
 28560  	case Tuint32_t(0x1680):
 28561  		goto __440 /* OGHAM SPACE MARK */
 28562  	case Tuint32_t(0x180e):
 28563  		goto __441 /* MONGOLIAN VOWEL SEPARATOR */
 28564  	case Tuint32_t(0x2000):
 28565  		goto __442 /* EN QUAD */
 28566  	case Tuint32_t(0x2001):
 28567  		goto __443 /* EM QUAD */
 28568  	case Tuint32_t(0x2002):
 28569  		goto __444 /* EN SPACE */
 28570  	case Tuint32_t(0x2003):
 28571  		goto __445 /* EM SPACE */
 28572  	case Tuint32_t(0x2004):
 28573  		goto __446 /* THREE-PER-EM SPACE */
 28574  	case Tuint32_t(0x2005):
 28575  		goto __447 /* FOUR-PER-EM SPACE */
 28576  	case Tuint32_t(0x2006):
 28577  		goto __448 /* SIX-PER-EM SPACE */
 28578  	case Tuint32_t(0x2007):
 28579  		goto __449 /* FIGURE SPACE */
 28580  	case Tuint32_t(0x2008):
 28581  		goto __450 /* PUNCTUATION SPACE */
 28582  	case Tuint32_t(0x2009):
 28583  		goto __451 /* THIN SPACE */
 28584  	case Tuint32_t(0x200A):
 28585  		goto __452 /* HAIR SPACE */
 28586  	case Tuint32_t(0x202f):
 28587  		goto __453 /* NARROW NO-BREAK SPACE */
 28588  	case Tuint32_t(0x205f):
 28589  		goto __454 /* MEDIUM MATHEMATICAL SPACE */
 28590  	case Tuint32_t(0x3000):
 28591  		goto __455
 28592  	case Tuint32_t('\012'):
 28593  		goto __456
 28594  	case Tuint32_t('\013'):
 28595  		goto __457
 28596  	case Tuint32_t('\014'):
 28597  		goto __458
 28598  	case Tuint32_t('\015'):
 28599  		goto __459
 28600  	case Tuint32_t(uint8('\x85')):
 28601  		goto __460
 28602  	case Tuint32_t(0x2028):
 28603  		goto __461 /* LINE SEPARATOR */
 28604  	case Tuint32_t(0x2029):
 28605  		goto __462
 28606  
 28607  	default:
 28608  		goto __463
 28609  	}
 28610  	goto __436
 28611  
 28612  __437:
 28613  __438:
 28614  __439:
 28615  __440: /* OGHAM SPACE MARK */
 28616  __441: /* MONGOLIAN VOWEL SEPARATOR */
 28617  __442: /* EN QUAD */
 28618  __443: /* EM QUAD */
 28619  __444: /* EN SPACE */
 28620  __445: /* EM SPACE */
 28621  __446: /* THREE-PER-EM SPACE */
 28622  __447: /* FOUR-PER-EM SPACE */
 28623  __448: /* SIX-PER-EM SPACE */
 28624  __449: /* FIGURE SPACE */
 28625  __450: /* PUNCTUATION SPACE */
 28626  __451: /* THIN SPACE */
 28627  __452: /* HAIR SPACE */
 28628  __453: /* NARROW NO-BREAK SPACE */
 28629  __454: /* MEDIUM MATHEMATICAL SPACE */
 28630  __455:
 28631  __456:
 28632  __457:
 28633  __458:
 28634  __459:
 28635  __460:
 28636  __461: /* LINE SEPARATOR */
 28637  __462:
 28638  	OK = DTRUE
 28639  	goto __436
 28640  
 28641  __463:
 28642  	OK = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z)
 28643  	goto __436
 28644  __436:
 28645  	;
 28646  	goto __420
 28647  
 28648  __430:
 28649  	OK = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N || c == Tuint32_t('\137'))
 28650  	goto __420
 28651  
 28652  __431:
 28653  	cp = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))*4
 28654  __464:
 28655  
 28656  	if !(c < *(*Tuint32_t)(unsafe.Pointer(cp))) {
 28657  		goto __467
 28658  	}
 28659  	OK = DFALSE
 28660  	goto __466
 28661  __467:
 28662  	;
 28663  	if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp, 4)))) {
 28664  		goto __468
 28665  	}
 28666  	OK = DTRUE
 28667  	goto __466
 28668  __468:
 28669  	;
 28670  	goto __465
 28671  __465:
 28672  	goto __464
 28673  	goto __466
 28674  __466:
 28675  	;
 28676  	goto __420
 28677  
 28678  __432:
 28679  	OK = libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140') || c >= Tuint32_t(0xa0) && c <= Tuint32_t(0xd7ff) || c >= Tuint32_t(0xe000))
 28680  	goto __420
 28681  
 28682  __433:
 28683  	OK = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))
 28684  	goto __420
 28685  
 28686  __434:
 28687  	OK = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))%32)) != Tuint32_t(0))
 28688  	goto __420
 28689  
 28690  	// Should never occur, but keep compilers from grumbling.
 28691  
 28692  __435:
 28693  	OK = libc.Bool32(codevalue != OP_PROP)
 28694  	goto __420
 28695  __420:
 28696  	;
 28697  
 28698  	if !(OK == libc.Bool32(codevalue == OP_PROP)) {
 28699  		goto __469
 28700  	}
 28701  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28702  		goto __470
 28703  	}
 28704  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 3
 28705  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28706  	next_new_state += 12
 28707  	goto __471
 28708  __470:
 28709  	return -43
 28710  __471:
 28711  	;
 28712  __469:
 28713  	;
 28714  __419:
 28715  	;
 28716  	goto __89
 28717  
 28718  	// ==========================================================================
 28719  	// These opcodes likewise inspect the subject character, but have an
 28720  	//       argument that is not a data character. It is one of these opcodes:
 28721  	//       OP_ANY, OP_ALLANY, OP_DIGIT, OP_NOT_DIGIT, OP_WHITESPACE, OP_NOT_SPACE,
 28722  	//       OP_WORDCHAR, OP_NOT_WORDCHAR. The value is loaded into d.
 28723  
 28724  __124:
 28725  __125:
 28726  __126:
 28727  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 28728  	if !(count > 0) {
 28729  		goto __472
 28730  	}
 28731  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28732  		goto __473
 28733  	}
 28734  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 28735  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28736  	next_active_state += 12
 28737  	goto __474
 28738  __473:
 28739  	return -43
 28740  __474:
 28741  	;
 28742  __472:
 28743  	;
 28744  	if !(clen > 0) {
 28745  		goto __475
 28746  	}
 28747  
 28748  	if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28749  		goto __476
 28750  	}
 28751  
 28752  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28753  	goto __477
 28754  __476:
 28755  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 28756  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28757  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28758  		}
 28759  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28760  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 28761  		goto __478
 28762  	}
 28763  
 28764  	if !(count > 0 && codevalue == OP_TYPEPOSPLUS) {
 28765  		goto __479
 28766  	}
 28767  
 28768  	active_count-- // Remove non-match possibility
 28769  	next_active_state -= 12
 28770  __479:
 28771  	;
 28772  	count++
 28773  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28774  		goto __480
 28775  	}
 28776  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 28777  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 28778  	next_new_state += 12
 28779  	goto __481
 28780  __480:
 28781  	return -43
 28782  __481:
 28783  	;
 28784  __478:
 28785  	;
 28786  __477:
 28787  	;
 28788  __475:
 28789  	;
 28790  	goto __89
 28791  
 28792  	//-----------------------------------------------------------------
 28793  __127:
 28794  __128:
 28795  __129:
 28796  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28797  		goto __482
 28798  	}
 28799  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 28800  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28801  	next_active_state += 12
 28802  	goto __483
 28803  __482:
 28804  	return -43
 28805  __483:
 28806  	;
 28807  	if !(clen > 0) {
 28808  		goto __484
 28809  	}
 28810  
 28811  	if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28812  		goto __485
 28813  	}
 28814  
 28815  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28816  	goto __486
 28817  __485:
 28818  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 28819  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28820  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28821  		}
 28822  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28823  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 28824  		goto __487
 28825  	}
 28826  
 28827  	if !(codevalue == OP_TYPEPOSQUERY) {
 28828  		goto __488
 28829  	}
 28830  
 28831  	active_count-- // Remove non-match possibility
 28832  	next_active_state -= 12
 28833  __488:
 28834  	;
 28835  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28836  		goto __489
 28837  	}
 28838  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 2
 28839  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28840  	next_new_state += 12
 28841  	goto __490
 28842  __489:
 28843  	return -43
 28844  __490:
 28845  	;
 28846  __487:
 28847  	;
 28848  __486:
 28849  	;
 28850  __484:
 28851  	;
 28852  	goto __89
 28853  
 28854  	//-----------------------------------------------------------------
 28855  __130:
 28856  __131:
 28857  __132:
 28858  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28859  		goto __491
 28860  	}
 28861  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 28862  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28863  	next_active_state += 12
 28864  	goto __492
 28865  __491:
 28866  	return -43
 28867  __492:
 28868  	;
 28869  	if !(clen > 0) {
 28870  		goto __493
 28871  	}
 28872  
 28873  	if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28874  		goto __494
 28875  	}
 28876  
 28877  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28878  	goto __495
 28879  __494:
 28880  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 28881  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28882  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28883  		}
 28884  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28885  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 28886  		goto __496
 28887  	}
 28888  
 28889  	if !(codevalue == OP_TYPEPOSSTAR) {
 28890  		goto __497
 28891  	}
 28892  
 28893  	active_count-- // Remove non-match possibility
 28894  	next_active_state -= 12
 28895  __497:
 28896  	;
 28897  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28898  		goto __498
 28899  	}
 28900  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 28901  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28902  	next_new_state += 12
 28903  	goto __499
 28904  __498:
 28905  	return -43
 28906  __499:
 28907  	;
 28908  __496:
 28909  	;
 28910  __495:
 28911  	;
 28912  __493:
 28913  	;
 28914  	goto __89
 28915  
 28916  	//-----------------------------------------------------------------
 28917  __133:
 28918  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 28919  	if !(clen > 0) {
 28920  		goto __500
 28921  	}
 28922  
 28923  	if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28924  		goto __501
 28925  	}
 28926  
 28927  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 28928  	goto __502
 28929  __501:
 28930  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 28931  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 28932  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 28933  		}
 28934  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 28935  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 28936  		goto __503
 28937  	}
 28938  
 28939  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 28940  		goto __504
 28941  	}
 28942  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28943  		goto __506
 28944  	}
 28945  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 + DIMM2_SIZE + 1
 28946  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 28947  	next_new_state += 12
 28948  	goto __507
 28949  __506:
 28950  	return -43
 28951  __507:
 28952  	;
 28953  	goto __505
 28954  __504:
 28955  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 28956  		goto __508
 28957  	}
 28958  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 28959  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 28960  	next_new_state += 12
 28961  	goto __509
 28962  __508:
 28963  	return -43
 28964  __509:
 28965  	;
 28966  __505:
 28967  	;
 28968  __503:
 28969  	;
 28970  __502:
 28971  	;
 28972  __500:
 28973  	;
 28974  	goto __89
 28975  
 28976  	//-----------------------------------------------------------------
 28977  __134:
 28978  __135:
 28979  __136:
 28980  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 28981  		goto __510
 28982  	}
 28983  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 28984  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 28985  	next_active_state += 12
 28986  	goto __511
 28987  __510:
 28988  	return -43
 28989  __511:
 28990  	;
 28991  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 28992  	if !(clen > 0) {
 28993  		goto __512
 28994  	}
 28995  
 28996  	if !(d == OP_ANY && ptr+uintptr(1) >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && c == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)))) {
 28997  		goto __513
 28998  	}
 28999  
 29000  	could_continue = libc.AssignInt32(&partial_newline, DTRUE)
 29001  	goto __514
 29002  __513:
 29003  	if !(c >= Tuint32_t(256) && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR || c < Tuint32_t(256) && (d != OP_ANY || !(func() int32 {
 29004  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 29005  			return libc.Bool32(ptr < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, ptr, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 29006  		}
 29007  		return libc.Bool32(ptr <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 29008  	}() != 0)) && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(c))))&int32(toptable1[d])^int32(toptable2[d]) != 0) {
 29009  		goto __515
 29010  	}
 29011  
 29012  	if !(codevalue == OP_TYPEPOSUPTO) {
 29013  		goto __516
 29014  	}
 29015  
 29016  	active_count-- // Remove non-match possibility
 29017  	next_active_state -= 12
 29018  __516:
 29019  	;
 29020  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 29021  		goto __517
 29022  	}
 29023  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29024  		goto __519
 29025  	}
 29026  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 29027  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 29028  	next_new_state += 12
 29029  	goto __520
 29030  __519:
 29031  	return -43
 29032  __520:
 29033  	;
 29034  	goto __518
 29035  __517:
 29036  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29037  		goto __521
 29038  	}
 29039  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 29040  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29041  	next_new_state += 12
 29042  	goto __522
 29043  __521:
 29044  	return -43
 29045  __522:
 29046  	;
 29047  __518:
 29048  	;
 29049  __515:
 29050  	;
 29051  __514:
 29052  	;
 29053  __512:
 29054  	;
 29055  	goto __89
 29056  
 29057  	// ==========================================================================
 29058  	// These are virtual opcodes that are used when something like
 29059  	//       OP_TYPEPLUS has OP_PROP, OP_NOTPROP, OP_ANYNL, or OP_EXTUNI as its
 29060  	//       argument. It keeps the code above fast for the other cases. The argument
 29061  	//       is in the d variable.
 29062  
 29063  __137:
 29064  __138:
 29065  __139:
 29066  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29067  	if !(count > 0) {
 29068  		goto __523
 29069  	}
 29070  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29071  		goto __524
 29072  	}
 29073  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 4
 29074  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29075  	next_active_state += 12
 29076  	goto __525
 29077  __524:
 29078  	return -43
 29079  __525:
 29080  	;
 29081  __523:
 29082  	;
 29083  	if !(clen > 0) {
 29084  		goto __526
 29085  	}
 29086  
 29087  	prop1 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12
 29088  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))) {
 29089  	case DPT_ANY:
 29090  		goto __528
 29091  
 29092  	case DPT_LAMP:
 29093  		goto __529
 29094  
 29095  	case DPT_GC:
 29096  		goto __530
 29097  
 29098  	case DPT_PC:
 29099  		goto __531
 29100  
 29101  	case DPT_SC:
 29102  		goto __532
 29103  
 29104  	case DPT_SCX:
 29105  		goto __533
 29106  
 29107  	// These are specials for combination cases.
 29108  
 29109  	case DPT_ALNUM:
 29110  		goto __534
 29111  
 29112  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 29113  	//           which means that Perl space and POSIX space are now identical. PCRE
 29114  	//           was changed at release 8.34.
 29115  
 29116  	case DPT_SPACE:
 29117  		goto __535 // Perl space
 29118  	case DPT_PXSPACE:
 29119  		goto __536
 29120  
 29121  	case DPT_WORD:
 29122  		goto __537
 29123  
 29124  	case DPT_CLIST:
 29125  		goto __538
 29126  
 29127  	case DPT_UCNC:
 29128  		goto __539
 29129  
 29130  	case DPT_BIDICL:
 29131  		goto __540
 29132  
 29133  	case DPT_BOOL:
 29134  		goto __541
 29135  
 29136  	// Should never occur, but keep compilers from grumbling.
 29137  
 29138  	default:
 29139  		goto __542
 29140  	}
 29141  	goto __527
 29142  
 29143  __528:
 29144  	OK1 = DTRUE
 29145  	goto __527
 29146  
 29147  __529:
 29148  	OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop1)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop1)).Fchartype) == ucp_Lt)
 29149  	goto __527
 29150  
 29151  __530:
 29152  	OK1 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29153  	goto __527
 29154  
 29155  __531:
 29156  	OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29157  	goto __527
 29158  
 29159  __532:
 29160  	OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29161  	goto __527
 29162  
 29163  __533:
 29164  	OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))%32)) != Tuint32_t(0))
 29165  	goto __527
 29166  
 29167  	// These are specials for combination cases.
 29168  
 29169  __534:
 29170  	OK1 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_N)
 29171  	goto __527
 29172  
 29173  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 29174  	//           which means that Perl space and POSIX space are now identical. PCRE
 29175  	//           was changed at release 8.34.
 29176  
 29177  __535: // Perl space
 29178  __536: // POSIX space
 29179  	switch c {
 29180  	case Tuint32_t('\011'):
 29181  		goto __544
 29182  	case Tuint32_t('\040'):
 29183  		goto __545
 29184  	case Tuint32_t(uint8('\xa0')):
 29185  		goto __546
 29186  	case Tuint32_t(0x1680):
 29187  		goto __547 /* OGHAM SPACE MARK */
 29188  	case Tuint32_t(0x180e):
 29189  		goto __548 /* MONGOLIAN VOWEL SEPARATOR */
 29190  	case Tuint32_t(0x2000):
 29191  		goto __549 /* EN QUAD */
 29192  	case Tuint32_t(0x2001):
 29193  		goto __550 /* EM QUAD */
 29194  	case Tuint32_t(0x2002):
 29195  		goto __551 /* EN SPACE */
 29196  	case Tuint32_t(0x2003):
 29197  		goto __552 /* EM SPACE */
 29198  	case Tuint32_t(0x2004):
 29199  		goto __553 /* THREE-PER-EM SPACE */
 29200  	case Tuint32_t(0x2005):
 29201  		goto __554 /* FOUR-PER-EM SPACE */
 29202  	case Tuint32_t(0x2006):
 29203  		goto __555 /* SIX-PER-EM SPACE */
 29204  	case Tuint32_t(0x2007):
 29205  		goto __556 /* FIGURE SPACE */
 29206  	case Tuint32_t(0x2008):
 29207  		goto __557 /* PUNCTUATION SPACE */
 29208  	case Tuint32_t(0x2009):
 29209  		goto __558 /* THIN SPACE */
 29210  	case Tuint32_t(0x200A):
 29211  		goto __559 /* HAIR SPACE */
 29212  	case Tuint32_t(0x202f):
 29213  		goto __560 /* NARROW NO-BREAK SPACE */
 29214  	case Tuint32_t(0x205f):
 29215  		goto __561 /* MEDIUM MATHEMATICAL SPACE */
 29216  	case Tuint32_t(0x3000):
 29217  		goto __562
 29218  	case Tuint32_t('\012'):
 29219  		goto __563
 29220  	case Tuint32_t('\013'):
 29221  		goto __564
 29222  	case Tuint32_t('\014'):
 29223  		goto __565
 29224  	case Tuint32_t('\015'):
 29225  		goto __566
 29226  	case Tuint32_t(uint8('\x85')):
 29227  		goto __567
 29228  	case Tuint32_t(0x2028):
 29229  		goto __568 /* LINE SEPARATOR */
 29230  	case Tuint32_t(0x2029):
 29231  		goto __569
 29232  
 29233  	default:
 29234  		goto __570
 29235  	}
 29236  	goto __543
 29237  
 29238  __544:
 29239  __545:
 29240  __546:
 29241  __547: /* OGHAM SPACE MARK */
 29242  __548: /* MONGOLIAN VOWEL SEPARATOR */
 29243  __549: /* EN QUAD */
 29244  __550: /* EM QUAD */
 29245  __551: /* EN SPACE */
 29246  __552: /* EM SPACE */
 29247  __553: /* THREE-PER-EM SPACE */
 29248  __554: /* FOUR-PER-EM SPACE */
 29249  __555: /* SIX-PER-EM SPACE */
 29250  __556: /* FIGURE SPACE */
 29251  __557: /* PUNCTUATION SPACE */
 29252  __558: /* THIN SPACE */
 29253  __559: /* HAIR SPACE */
 29254  __560: /* NARROW NO-BREAK SPACE */
 29255  __561: /* MEDIUM MATHEMATICAL SPACE */
 29256  __562:
 29257  __563:
 29258  __564:
 29259  __565:
 29260  __566:
 29261  __567:
 29262  __568: /* LINE SEPARATOR */
 29263  __569:
 29264  	OK1 = DTRUE
 29265  	goto __543
 29266  
 29267  __570:
 29268  	OK1 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_Z)
 29269  	goto __543
 29270  __543:
 29271  	;
 29272  	goto __527
 29273  
 29274  __537:
 29275  	OK1 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop1)).Fchartype] == ucp_N || c == Tuint32_t('\137'))
 29276  	goto __527
 29277  
 29278  __538:
 29279  	cp1 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))*4
 29280  __571:
 29281  
 29282  	if !(c < *(*Tuint32_t)(unsafe.Pointer(cp1))) {
 29283  		goto __574
 29284  	}
 29285  	OK1 = DFALSE
 29286  	goto __573
 29287  __574:
 29288  	;
 29289  	if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp1, 4)))) {
 29290  		goto __575
 29291  	}
 29292  	OK1 = DTRUE
 29293  	goto __573
 29294  __575:
 29295  	;
 29296  	goto __572
 29297  __572:
 29298  	goto __571
 29299  	goto __573
 29300  __573:
 29301  	;
 29302  	goto __527
 29303  
 29304  __539:
 29305  	OK1 = libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140') || c >= Tuint32_t(0xa0) && c <= Tuint32_t(0xd7ff) || c >= Tuint32_t(0xe000))
 29306  	goto __527
 29307  
 29308  __540:
 29309  	OK1 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29310  	goto __527
 29311  
 29312  __541:
 29313  	OK1 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))%32)) != Tuint32_t(0))
 29314  	goto __527
 29315  
 29316  	// Should never occur, but keep compilers from grumbling.
 29317  
 29318  __542:
 29319  	OK1 = libc.Bool32(codevalue != OP_PROP)
 29320  	goto __527
 29321  __527:
 29322  	;
 29323  
 29324  	if !(OK1 == libc.Bool32(d == OP_PROP)) {
 29325  		goto __576
 29326  	}
 29327  
 29328  	if !(count > 0 && codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSPLUS)) {
 29329  		goto __577
 29330  	}
 29331  
 29332  	active_count-- // Remove non-match possibility
 29333  	next_active_state -= 12
 29334  __577:
 29335  	;
 29336  	count++
 29337  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29338  		goto __578
 29339  	}
 29340  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 29341  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29342  	next_new_state += 12
 29343  	goto __579
 29344  __578:
 29345  	return -43
 29346  __579:
 29347  	;
 29348  __576:
 29349  	;
 29350  __526:
 29351  	;
 29352  	goto __89
 29353  
 29354  	//-----------------------------------------------------------------
 29355  __140:
 29356  __141:
 29357  __142:
 29358  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29359  	if !(count > 0) {
 29360  		goto __580
 29361  	}
 29362  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29363  		goto __581
 29364  	}
 29365  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 29366  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29367  	next_active_state += 12
 29368  	goto __582
 29369  __581:
 29370  	return -43
 29371  __582:
 29372  	;
 29373  __580:
 29374  	;
 29375  	if !(clen > 0) {
 29376  		goto __583
 29377  	}
 29378  
 29379  	*(*int32)(unsafe.Pointer(bp /* ncount */)) = 0
 29380  	if !(count > 0 && codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSPLUS)) {
 29381  		goto __584
 29382  	}
 29383  
 29384  	active_count-- // Remove non-match possibility
 29385  	next_active_state -= 12
 29386  __584:
 29387  	;
 29388  	X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, end_subject, utf,
 29389  		bp)
 29390  	count++
 29391  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29392  		goto __585
 29393  	}
 29394  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 29395  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29396  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp))
 29397  	next_new_state += 12
 29398  	goto __586
 29399  __585:
 29400  	return -43
 29401  __586:
 29402  	;
 29403  __583:
 29404  	;
 29405  	goto __89
 29406  
 29407  	//-----------------------------------------------------------------
 29408  __143:
 29409  __144:
 29410  __145:
 29411  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29412  	if !(count > 0) {
 29413  		goto __587
 29414  	}
 29415  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29416  		goto __588
 29417  	}
 29418  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 29419  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29420  	next_active_state += 12
 29421  	goto __589
 29422  __588:
 29423  	return -43
 29424  __589:
 29425  	;
 29426  __587:
 29427  	;
 29428  	if !(clen > 0) {
 29429  		goto __590
 29430  	}
 29431  	ncount1 = 0
 29432  	switch c {
 29433  	case Tuint32_t('\013'):
 29434  		goto __592
 29435  	case Tuint32_t('\014'):
 29436  		goto __593
 29437  	case Tuint32_t(uint8('\x85')):
 29438  		goto __594
 29439  	case Tuint32_t(0x2028):
 29440  		goto __595
 29441  	case Tuint32_t(0x2029):
 29442  		goto __596
 29443  
 29444  	case Tuint32_t('\015'):
 29445  		goto __597
 29446  	case Tuint32_t('\012'):
 29447  		goto __598
 29448  
 29449  	default:
 29450  		goto __599
 29451  	}
 29452  	goto __591
 29453  
 29454  __592:
 29455  __593:
 29456  __594:
 29457  __595:
 29458  __596:
 29459  	if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 29460  		goto __600
 29461  	}
 29462  	goto __591
 29463  __600:
 29464  	;
 29465  	goto ANYNL01
 29466  
 29467  __597:
 29468  	if !(ptr+uintptr(1) < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') {
 29469  		goto __601
 29470  	}
 29471  	ncount1 = 1
 29472  __601:
 29473  	;
 29474  	// Fall through
 29475  
 29476  ANYNL01:
 29477  __598:
 29478  	if !(count > 0 && codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSPLUS)) {
 29479  		goto __602
 29480  	}
 29481  
 29482  	active_count-- // Remove non-match possibility
 29483  	next_active_state -= 12
 29484  __602:
 29485  	;
 29486  	count++
 29487  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29488  		goto __603
 29489  	}
 29490  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 29491  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29492  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount1
 29493  	next_new_state += 12
 29494  	goto __604
 29495  __603:
 29496  	return -43
 29497  __604:
 29498  	;
 29499  	goto __591
 29500  
 29501  __599:
 29502  	goto __591
 29503  __591:
 29504  	;
 29505  __590:
 29506  	;
 29507  	goto __89
 29508  
 29509  	//-----------------------------------------------------------------
 29510  __146:
 29511  __147:
 29512  __148:
 29513  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29514  	if !(count > 0) {
 29515  		goto __605
 29516  	}
 29517  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29518  		goto __606
 29519  	}
 29520  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 29521  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29522  	next_active_state += 12
 29523  	goto __607
 29524  __606:
 29525  	return -43
 29526  __607:
 29527  	;
 29528  __605:
 29529  	;
 29530  	if !(clen > 0) {
 29531  		goto __608
 29532  	}
 29533  
 29534  	switch c {
 29535  	case Tuint32_t('\012'):
 29536  		goto __610
 29537  	case Tuint32_t('\013'):
 29538  		goto __611
 29539  	case Tuint32_t('\014'):
 29540  		goto __612
 29541  	case Tuint32_t('\015'):
 29542  		goto __613
 29543  	case Tuint32_t(uint8('\x85')):
 29544  		goto __614
 29545  	case Tuint32_t(0x2028):
 29546  		goto __615 /* LINE SEPARATOR */
 29547  	case Tuint32_t(0x2029):
 29548  		goto __616
 29549  
 29550  	default:
 29551  		goto __617
 29552  	}
 29553  	goto __609
 29554  
 29555  __610:
 29556  __611:
 29557  __612:
 29558  __613:
 29559  __614:
 29560  __615: /* LINE SEPARATOR */
 29561  __616:
 29562  	OK2 = DTRUE
 29563  	goto __609
 29564  
 29565  __617:
 29566  	OK2 = DFALSE
 29567  	goto __609
 29568  __609:
 29569  	;
 29570  
 29571  	if !(OK2 == libc.Bool32(d == OP_VSPACE)) {
 29572  		goto __618
 29573  	}
 29574  
 29575  	if !(count > 0 && codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSPLUS)) {
 29576  		goto __619
 29577  	}
 29578  
 29579  	active_count-- // Remove non-match possibility
 29580  	next_active_state -= 12
 29581  __619:
 29582  	;
 29583  	count++
 29584  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29585  		goto __620
 29586  	}
 29587  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 29588  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29589  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 29590  	next_new_state += 12
 29591  	goto __621
 29592  __620:
 29593  	return -43
 29594  __621:
 29595  	;
 29596  __618:
 29597  	;
 29598  __608:
 29599  	;
 29600  	goto __89
 29601  
 29602  	//-----------------------------------------------------------------
 29603  __149:
 29604  __150:
 29605  __151:
 29606  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 29607  	if !(count > 0) {
 29608  		goto __622
 29609  	}
 29610  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29611  		goto __623
 29612  	}
 29613  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 29614  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29615  	next_active_state += 12
 29616  	goto __624
 29617  __623:
 29618  	return -43
 29619  __624:
 29620  	;
 29621  __622:
 29622  	;
 29623  	if !(clen > 0) {
 29624  		goto __625
 29625  	}
 29626  
 29627  	switch c {
 29628  	case Tuint32_t('\011'):
 29629  		goto __627
 29630  	case Tuint32_t('\040'):
 29631  		goto __628
 29632  	case Tuint32_t(uint8('\xa0')):
 29633  		goto __629
 29634  	case Tuint32_t(0x1680):
 29635  		goto __630 /* OGHAM SPACE MARK */
 29636  	case Tuint32_t(0x180e):
 29637  		goto __631 /* MONGOLIAN VOWEL SEPARATOR */
 29638  	case Tuint32_t(0x2000):
 29639  		goto __632 /* EN QUAD */
 29640  	case Tuint32_t(0x2001):
 29641  		goto __633 /* EM QUAD */
 29642  	case Tuint32_t(0x2002):
 29643  		goto __634 /* EN SPACE */
 29644  	case Tuint32_t(0x2003):
 29645  		goto __635 /* EM SPACE */
 29646  	case Tuint32_t(0x2004):
 29647  		goto __636 /* THREE-PER-EM SPACE */
 29648  	case Tuint32_t(0x2005):
 29649  		goto __637 /* FOUR-PER-EM SPACE */
 29650  	case Tuint32_t(0x2006):
 29651  		goto __638 /* SIX-PER-EM SPACE */
 29652  	case Tuint32_t(0x2007):
 29653  		goto __639 /* FIGURE SPACE */
 29654  	case Tuint32_t(0x2008):
 29655  		goto __640 /* PUNCTUATION SPACE */
 29656  	case Tuint32_t(0x2009):
 29657  		goto __641 /* THIN SPACE */
 29658  	case Tuint32_t(0x200A):
 29659  		goto __642 /* HAIR SPACE */
 29660  	case Tuint32_t(0x202f):
 29661  		goto __643 /* NARROW NO-BREAK SPACE */
 29662  	case Tuint32_t(0x205f):
 29663  		goto __644 /* MEDIUM MATHEMATICAL SPACE */
 29664  	case Tuint32_t(0x3000):
 29665  		goto __645
 29666  
 29667  	default:
 29668  		goto __646
 29669  	}
 29670  	goto __626
 29671  
 29672  __627:
 29673  __628:
 29674  __629:
 29675  __630: /* OGHAM SPACE MARK */
 29676  __631: /* MONGOLIAN VOWEL SEPARATOR */
 29677  __632: /* EN QUAD */
 29678  __633: /* EM QUAD */
 29679  __634: /* EN SPACE */
 29680  __635: /* EM SPACE */
 29681  __636: /* THREE-PER-EM SPACE */
 29682  __637: /* FOUR-PER-EM SPACE */
 29683  __638: /* SIX-PER-EM SPACE */
 29684  __639: /* FIGURE SPACE */
 29685  __640: /* PUNCTUATION SPACE */
 29686  __641: /* THIN SPACE */
 29687  __642: /* HAIR SPACE */
 29688  __643: /* NARROW NO-BREAK SPACE */
 29689  __644: /* MEDIUM MATHEMATICAL SPACE */
 29690  __645:
 29691  	OK3 = DTRUE
 29692  	goto __626
 29693  
 29694  __646:
 29695  	OK3 = DFALSE
 29696  	goto __626
 29697  __626:
 29698  	;
 29699  
 29700  	if !(OK3 == libc.Bool32(d == OP_HSPACE)) {
 29701  		goto __647
 29702  	}
 29703  
 29704  	if !(count > 0 && codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSPLUS)) {
 29705  		goto __648
 29706  	}
 29707  
 29708  	active_count-- // Remove non-match possibility
 29709  	next_active_state -= 12
 29710  __648:
 29711  	;
 29712  	count++
 29713  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 29714  		goto __649
 29715  	}
 29716  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 29717  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 29718  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 29719  	next_new_state += 12
 29720  	goto __650
 29721  __649:
 29722  	return -43
 29723  __650:
 29724  	;
 29725  __647:
 29726  	;
 29727  __625:
 29728  	;
 29729  	goto __89
 29730  
 29731  	//-----------------------------------------------------------------
 29732  __152:
 29733  __153:
 29734  __154:
 29735  	count = 4
 29736  	goto QS1
 29737  
 29738  __155:
 29739  __156:
 29740  __157:
 29741  	count = 0
 29742  
 29743  QS1:
 29744  
 29745  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 29746  		goto __651
 29747  	}
 29748  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 4
 29749  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 29750  	next_active_state += 12
 29751  	goto __652
 29752  __651:
 29753  	return -43
 29754  __652:
 29755  	;
 29756  	if !(clen > 0) {
 29757  		goto __653
 29758  	}
 29759  
 29760  	prop2 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12
 29761  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))) {
 29762  	case DPT_ANY:
 29763  		goto __655
 29764  
 29765  	case DPT_LAMP:
 29766  		goto __656
 29767  
 29768  	case DPT_GC:
 29769  		goto __657
 29770  
 29771  	case DPT_PC:
 29772  		goto __658
 29773  
 29774  	case DPT_SC:
 29775  		goto __659
 29776  
 29777  	case DPT_SCX:
 29778  		goto __660
 29779  
 29780  	// These are specials for combination cases.
 29781  
 29782  	case DPT_ALNUM:
 29783  		goto __661
 29784  
 29785  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 29786  	//           which means that Perl space and POSIX space are now identical. PCRE
 29787  	//           was changed at release 8.34.
 29788  
 29789  	case DPT_SPACE:
 29790  		goto __662 // Perl space
 29791  	case DPT_PXSPACE:
 29792  		goto __663
 29793  
 29794  	case DPT_WORD:
 29795  		goto __664
 29796  
 29797  	case DPT_CLIST:
 29798  		goto __665
 29799  
 29800  	case DPT_UCNC:
 29801  		goto __666
 29802  
 29803  	case DPT_BIDICL:
 29804  		goto __667
 29805  
 29806  	case DPT_BOOL:
 29807  		goto __668
 29808  
 29809  	// Should never occur, but keep compilers from grumbling.
 29810  
 29811  	default:
 29812  		goto __669
 29813  	}
 29814  	goto __654
 29815  
 29816  __655:
 29817  	OK4 = DTRUE
 29818  	goto __654
 29819  
 29820  __656:
 29821  	OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop2)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop2)).Fchartype) == ucp_Lt)
 29822  	goto __654
 29823  
 29824  __657:
 29825  	OK4 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29826  	goto __654
 29827  
 29828  __658:
 29829  	OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29830  	goto __654
 29831  
 29832  __659:
 29833  	OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29834  	goto __654
 29835  
 29836  __660:
 29837  	OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))%32)) != Tuint32_t(0))
 29838  	goto __654
 29839  
 29840  	// These are specials for combination cases.
 29841  
 29842  __661:
 29843  	OK4 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_N)
 29844  	goto __654
 29845  
 29846  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 29847  	//           which means that Perl space and POSIX space are now identical. PCRE
 29848  	//           was changed at release 8.34.
 29849  
 29850  __662: // Perl space
 29851  __663: // POSIX space
 29852  	switch c {
 29853  	case Tuint32_t('\011'):
 29854  		goto __671
 29855  	case Tuint32_t('\040'):
 29856  		goto __672
 29857  	case Tuint32_t(uint8('\xa0')):
 29858  		goto __673
 29859  	case Tuint32_t(0x1680):
 29860  		goto __674 /* OGHAM SPACE MARK */
 29861  	case Tuint32_t(0x180e):
 29862  		goto __675 /* MONGOLIAN VOWEL SEPARATOR */
 29863  	case Tuint32_t(0x2000):
 29864  		goto __676 /* EN QUAD */
 29865  	case Tuint32_t(0x2001):
 29866  		goto __677 /* EM QUAD */
 29867  	case Tuint32_t(0x2002):
 29868  		goto __678 /* EN SPACE */
 29869  	case Tuint32_t(0x2003):
 29870  		goto __679 /* EM SPACE */
 29871  	case Tuint32_t(0x2004):
 29872  		goto __680 /* THREE-PER-EM SPACE */
 29873  	case Tuint32_t(0x2005):
 29874  		goto __681 /* FOUR-PER-EM SPACE */
 29875  	case Tuint32_t(0x2006):
 29876  		goto __682 /* SIX-PER-EM SPACE */
 29877  	case Tuint32_t(0x2007):
 29878  		goto __683 /* FIGURE SPACE */
 29879  	case Tuint32_t(0x2008):
 29880  		goto __684 /* PUNCTUATION SPACE */
 29881  	case Tuint32_t(0x2009):
 29882  		goto __685 /* THIN SPACE */
 29883  	case Tuint32_t(0x200A):
 29884  		goto __686 /* HAIR SPACE */
 29885  	case Tuint32_t(0x202f):
 29886  		goto __687 /* NARROW NO-BREAK SPACE */
 29887  	case Tuint32_t(0x205f):
 29888  		goto __688 /* MEDIUM MATHEMATICAL SPACE */
 29889  	case Tuint32_t(0x3000):
 29890  		goto __689
 29891  	case Tuint32_t('\012'):
 29892  		goto __690
 29893  	case Tuint32_t('\013'):
 29894  		goto __691
 29895  	case Tuint32_t('\014'):
 29896  		goto __692
 29897  	case Tuint32_t('\015'):
 29898  		goto __693
 29899  	case Tuint32_t(uint8('\x85')):
 29900  		goto __694
 29901  	case Tuint32_t(0x2028):
 29902  		goto __695 /* LINE SEPARATOR */
 29903  	case Tuint32_t(0x2029):
 29904  		goto __696
 29905  
 29906  	default:
 29907  		goto __697
 29908  	}
 29909  	goto __670
 29910  
 29911  __671:
 29912  __672:
 29913  __673:
 29914  __674: /* OGHAM SPACE MARK */
 29915  __675: /* MONGOLIAN VOWEL SEPARATOR */
 29916  __676: /* EN QUAD */
 29917  __677: /* EM QUAD */
 29918  __678: /* EN SPACE */
 29919  __679: /* EM SPACE */
 29920  __680: /* THREE-PER-EM SPACE */
 29921  __681: /* FOUR-PER-EM SPACE */
 29922  __682: /* SIX-PER-EM SPACE */
 29923  __683: /* FIGURE SPACE */
 29924  __684: /* PUNCTUATION SPACE */
 29925  __685: /* THIN SPACE */
 29926  __686: /* HAIR SPACE */
 29927  __687: /* NARROW NO-BREAK SPACE */
 29928  __688: /* MEDIUM MATHEMATICAL SPACE */
 29929  __689:
 29930  __690:
 29931  __691:
 29932  __692:
 29933  __693:
 29934  __694:
 29935  __695: /* LINE SEPARATOR */
 29936  __696:
 29937  	OK4 = DTRUE
 29938  	goto __670
 29939  
 29940  __697:
 29941  	OK4 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_Z)
 29942  	goto __670
 29943  __670:
 29944  	;
 29945  	goto __654
 29946  
 29947  __664:
 29948  	OK4 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop2)).Fchartype] == ucp_N || c == Tuint32_t('\137'))
 29949  	goto __654
 29950  
 29951  __665:
 29952  	cp2 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))*4
 29953  __698:
 29954  
 29955  	if !(c < *(*Tuint32_t)(unsafe.Pointer(cp2))) {
 29956  		goto __701
 29957  	}
 29958  	OK4 = DFALSE
 29959  	goto __700
 29960  __701:
 29961  	;
 29962  	if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp2, 4)))) {
 29963  		goto __702
 29964  	}
 29965  	OK4 = DTRUE
 29966  	goto __700
 29967  __702:
 29968  	;
 29969  	goto __699
 29970  __699:
 29971  	goto __698
 29972  	goto __700
 29973  __700:
 29974  	;
 29975  	goto __654
 29976  
 29977  __666:
 29978  	OK4 = libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140') || c >= Tuint32_t(0xa0) && c <= Tuint32_t(0xd7ff) || c >= Tuint32_t(0xe000))
 29979  	goto __654
 29980  
 29981  __667:
 29982  	OK4 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))))
 29983  	goto __654
 29984  
 29985  __668:
 29986  	OK4 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))%32)) != Tuint32_t(0))
 29987  	goto __654
 29988  
 29989  	// Should never occur, but keep compilers from grumbling.
 29990  
 29991  __669:
 29992  	OK4 = libc.Bool32(codevalue != OP_PROP)
 29993  	goto __654
 29994  __654:
 29995  	;
 29996  
 29997  	if !(OK4 == libc.Bool32(d == OP_PROP)) {
 29998  		goto __703
 29999  	}
 30000  
 30001  	if !(codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSQUERY)) {
 30002  		goto __704
 30003  	}
 30004  
 30005  	active_count-- // Remove non-match possibility
 30006  	next_active_state -= 12
 30007  __704:
 30008  	;
 30009  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30010  		goto __705
 30011  	}
 30012  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + count
 30013  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30014  	next_new_state += 12
 30015  	goto __706
 30016  __705:
 30017  	return -43
 30018  __706:
 30019  	;
 30020  __703:
 30021  	;
 30022  __653:
 30023  	;
 30024  	goto __89
 30025  
 30026  	//-----------------------------------------------------------------
 30027  __158:
 30028  __159:
 30029  __160:
 30030  	count = 2
 30031  	goto QS2
 30032  
 30033  __161:
 30034  __162:
 30035  __163:
 30036  	count = 0
 30037  
 30038  QS2:
 30039  
 30040  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30041  		goto __707
 30042  	}
 30043  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 30044  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30045  	next_active_state += 12
 30046  	goto __708
 30047  __707:
 30048  	return -43
 30049  __708:
 30050  	;
 30051  	if !(clen > 0) {
 30052  		goto __709
 30053  	}
 30054  
 30055  	*(*int32)(unsafe.Pointer(bp + 4 /* ncount2 */)) = 0
 30056  	if !(codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSQUERY)) {
 30057  		goto __710
 30058  	}
 30059  
 30060  	active_count-- // Remove non-match possibility
 30061  	next_active_state -= 12
 30062  __710:
 30063  	;
 30064  	X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, end_subject, utf,
 30065  		bp+4)
 30066  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30067  		goto __711
 30068  	}
 30069  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count)
 30070  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30071  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 4))
 30072  	next_new_state += 12
 30073  	goto __712
 30074  __711:
 30075  	return -43
 30076  __712:
 30077  	;
 30078  __709:
 30079  	;
 30080  	goto __89
 30081  
 30082  	//-----------------------------------------------------------------
 30083  __164:
 30084  __165:
 30085  __166:
 30086  	count = 2
 30087  	goto QS3
 30088  
 30089  __167:
 30090  __168:
 30091  __169:
 30092  	count = 0
 30093  
 30094  QS3:
 30095  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30096  		goto __713
 30097  	}
 30098  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 30099  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30100  	next_active_state += 12
 30101  	goto __714
 30102  __713:
 30103  	return -43
 30104  __714:
 30105  	;
 30106  	if !(clen > 0) {
 30107  		goto __715
 30108  	}
 30109  	ncount3 = 0
 30110  	switch c {
 30111  	case Tuint32_t('\013'):
 30112  		goto __717
 30113  	case Tuint32_t('\014'):
 30114  		goto __718
 30115  	case Tuint32_t(uint8('\x85')):
 30116  		goto __719
 30117  	case Tuint32_t(0x2028):
 30118  		goto __720
 30119  	case Tuint32_t(0x2029):
 30120  		goto __721
 30121  
 30122  	case Tuint32_t('\015'):
 30123  		goto __722
 30124  	case Tuint32_t('\012'):
 30125  		goto __723
 30126  
 30127  	default:
 30128  		goto __724
 30129  	}
 30130  	goto __716
 30131  
 30132  __717:
 30133  __718:
 30134  __719:
 30135  __720:
 30136  __721:
 30137  	if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 30138  		goto __725
 30139  	}
 30140  	goto __716
 30141  __725:
 30142  	;
 30143  	goto ANYNL02
 30144  
 30145  __722:
 30146  	if !(ptr+uintptr(1) < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') {
 30147  		goto __726
 30148  	}
 30149  	ncount3 = 1
 30150  __726:
 30151  	;
 30152  	// Fall through
 30153  
 30154  ANYNL02:
 30155  __723:
 30156  	if !(codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSQUERY)) {
 30157  		goto __727
 30158  	}
 30159  
 30160  	active_count-- // Remove non-match possibility
 30161  	next_active_state -= 12
 30162  __727:
 30163  	;
 30164  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30165  		goto __728
 30166  	}
 30167  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count)
 30168  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30169  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount3
 30170  	next_new_state += 12
 30171  	goto __729
 30172  __728:
 30173  	return -43
 30174  __729:
 30175  	;
 30176  	goto __716
 30177  
 30178  __724:
 30179  	goto __716
 30180  __716:
 30181  	;
 30182  __715:
 30183  	;
 30184  	goto __89
 30185  
 30186  	//-----------------------------------------------------------------
 30187  __170:
 30188  __171:
 30189  __172:
 30190  	count = 2
 30191  	goto QS4
 30192  
 30193  __173:
 30194  __174:
 30195  __175:
 30196  	count = 0
 30197  
 30198  QS4:
 30199  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30200  		goto __730
 30201  	}
 30202  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 30203  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30204  	next_active_state += 12
 30205  	goto __731
 30206  __730:
 30207  	return -43
 30208  __731:
 30209  	;
 30210  	if !(clen > 0) {
 30211  		goto __732
 30212  	}
 30213  
 30214  	switch c {
 30215  	case Tuint32_t('\012'):
 30216  		goto __734
 30217  	case Tuint32_t('\013'):
 30218  		goto __735
 30219  	case Tuint32_t('\014'):
 30220  		goto __736
 30221  	case Tuint32_t('\015'):
 30222  		goto __737
 30223  	case Tuint32_t(uint8('\x85')):
 30224  		goto __738
 30225  	case Tuint32_t(0x2028):
 30226  		goto __739 /* LINE SEPARATOR */
 30227  	case Tuint32_t(0x2029):
 30228  		goto __740
 30229  
 30230  	default:
 30231  		goto __741
 30232  	}
 30233  	goto __733
 30234  
 30235  __734:
 30236  __735:
 30237  __736:
 30238  __737:
 30239  __738:
 30240  __739: /* LINE SEPARATOR */
 30241  __740:
 30242  	OK5 = DTRUE
 30243  	goto __733
 30244  
 30245  __741:
 30246  	OK5 = DFALSE
 30247  	goto __733
 30248  __733:
 30249  	;
 30250  	if !(OK5 == libc.Bool32(d == OP_VSPACE)) {
 30251  		goto __742
 30252  	}
 30253  
 30254  	if !(codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSQUERY)) {
 30255  		goto __743
 30256  	}
 30257  
 30258  	active_count-- // Remove non-match possibility
 30259  	next_active_state -= 12
 30260  __743:
 30261  	;
 30262  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30263  		goto __744
 30264  	}
 30265  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count)
 30266  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30267  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 30268  	next_new_state += 12
 30269  	goto __745
 30270  __744:
 30271  	return -43
 30272  __745:
 30273  	;
 30274  __742:
 30275  	;
 30276  __732:
 30277  	;
 30278  	goto __89
 30279  
 30280  	//-----------------------------------------------------------------
 30281  __176:
 30282  __177:
 30283  __178:
 30284  	count = 2
 30285  	goto QS5
 30286  
 30287  __179:
 30288  __180:
 30289  __181:
 30290  	count = 0
 30291  
 30292  QS5:
 30293  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30294  		goto __746
 30295  	}
 30296  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2
 30297  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30298  	next_active_state += 12
 30299  	goto __747
 30300  __746:
 30301  	return -43
 30302  __747:
 30303  	;
 30304  	if !(clen > 0) {
 30305  		goto __748
 30306  	}
 30307  
 30308  	switch c {
 30309  	case Tuint32_t('\011'):
 30310  		goto __750
 30311  	case Tuint32_t('\040'):
 30312  		goto __751
 30313  	case Tuint32_t(uint8('\xa0')):
 30314  		goto __752
 30315  	case Tuint32_t(0x1680):
 30316  		goto __753 /* OGHAM SPACE MARK */
 30317  	case Tuint32_t(0x180e):
 30318  		goto __754 /* MONGOLIAN VOWEL SEPARATOR */
 30319  	case Tuint32_t(0x2000):
 30320  		goto __755 /* EN QUAD */
 30321  	case Tuint32_t(0x2001):
 30322  		goto __756 /* EM QUAD */
 30323  	case Tuint32_t(0x2002):
 30324  		goto __757 /* EN SPACE */
 30325  	case Tuint32_t(0x2003):
 30326  		goto __758 /* EM SPACE */
 30327  	case Tuint32_t(0x2004):
 30328  		goto __759 /* THREE-PER-EM SPACE */
 30329  	case Tuint32_t(0x2005):
 30330  		goto __760 /* FOUR-PER-EM SPACE */
 30331  	case Tuint32_t(0x2006):
 30332  		goto __761 /* SIX-PER-EM SPACE */
 30333  	case Tuint32_t(0x2007):
 30334  		goto __762 /* FIGURE SPACE */
 30335  	case Tuint32_t(0x2008):
 30336  		goto __763 /* PUNCTUATION SPACE */
 30337  	case Tuint32_t(0x2009):
 30338  		goto __764 /* THIN SPACE */
 30339  	case Tuint32_t(0x200A):
 30340  		goto __765 /* HAIR SPACE */
 30341  	case Tuint32_t(0x202f):
 30342  		goto __766 /* NARROW NO-BREAK SPACE */
 30343  	case Tuint32_t(0x205f):
 30344  		goto __767 /* MEDIUM MATHEMATICAL SPACE */
 30345  	case Tuint32_t(0x3000):
 30346  		goto __768
 30347  
 30348  	default:
 30349  		goto __769
 30350  	}
 30351  	goto __749
 30352  
 30353  __750:
 30354  __751:
 30355  __752:
 30356  __753: /* OGHAM SPACE MARK */
 30357  __754: /* MONGOLIAN VOWEL SEPARATOR */
 30358  __755: /* EN QUAD */
 30359  __756: /* EM QUAD */
 30360  __757: /* EN SPACE */
 30361  __758: /* EM SPACE */
 30362  __759: /* THREE-PER-EM SPACE */
 30363  __760: /* FOUR-PER-EM SPACE */
 30364  __761: /* SIX-PER-EM SPACE */
 30365  __762: /* FIGURE SPACE */
 30366  __763: /* PUNCTUATION SPACE */
 30367  __764: /* THIN SPACE */
 30368  __765: /* HAIR SPACE */
 30369  __766: /* NARROW NO-BREAK SPACE */
 30370  __767: /* MEDIUM MATHEMATICAL SPACE */
 30371  __768:
 30372  	OK6 = DTRUE
 30373  	goto __749
 30374  
 30375  __769:
 30376  	OK6 = DFALSE
 30377  	goto __749
 30378  __749:
 30379  	;
 30380  
 30381  	if !(OK6 == libc.Bool32(d == OP_HSPACE)) {
 30382  		goto __770
 30383  	}
 30384  
 30385  	if !(codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSSTAR) || codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSQUERY)) {
 30386  		goto __771
 30387  	}
 30388  
 30389  	active_count-- // Remove non-match possibility
 30390  	next_active_state -= 12
 30391  __771:
 30392  	;
 30393  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30394  		goto __772
 30395  	}
 30396  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + count)
 30397  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30398  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 30399  	next_new_state += 12
 30400  	goto __773
 30401  __772:
 30402  	return -43
 30403  __773:
 30404  	;
 30405  __770:
 30406  	;
 30407  __748:
 30408  	;
 30409  	goto __89
 30410  
 30411  	//-----------------------------------------------------------------
 30412  __182:
 30413  __183:
 30414  __184:
 30415  __185:
 30416  	if !(codevalue != Tuint32_t(DOP_PROP_EXTRA+OP_TYPEEXACT)) {
 30417  		goto __774
 30418  	}
 30419  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30420  		goto __775
 30421  	}
 30422  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 1 + DIMM2_SIZE + 3
 30423  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30424  	next_active_state += 12
 30425  	goto __776
 30426  __775:
 30427  	return -43
 30428  __776:
 30429  	;
 30430  __774:
 30431  	;
 30432  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 30433  	if !(clen > 0) {
 30434  		goto __777
 30435  	}
 30436  
 30437  	prop3 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12
 30438  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4))) {
 30439  	case DPT_ANY:
 30440  		goto __779
 30441  
 30442  	case DPT_LAMP:
 30443  		goto __780
 30444  
 30445  	case DPT_GC:
 30446  		goto __781
 30447  
 30448  	case DPT_PC:
 30449  		goto __782
 30450  
 30451  	case DPT_SC:
 30452  		goto __783
 30453  
 30454  	case DPT_SCX:
 30455  		goto __784
 30456  
 30457  	// These are specials for combination cases.
 30458  
 30459  	case DPT_ALNUM:
 30460  		goto __785
 30461  
 30462  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 30463  	//           which means that Perl space and POSIX space are now identical. PCRE
 30464  	//           was changed at release 8.34.
 30465  
 30466  	case DPT_SPACE:
 30467  		goto __786 // Perl space
 30468  	case DPT_PXSPACE:
 30469  		goto __787
 30470  
 30471  	case DPT_WORD:
 30472  		goto __788
 30473  
 30474  	case DPT_CLIST:
 30475  		goto __789
 30476  
 30477  	case DPT_UCNC:
 30478  		goto __790
 30479  
 30480  	case DPT_BIDICL:
 30481  		goto __791
 30482  
 30483  	case DPT_BOOL:
 30484  		goto __792
 30485  
 30486  	// Should never occur, but keep compilers from grumbling.
 30487  
 30488  	default:
 30489  		goto __793
 30490  	}
 30491  	goto __778
 30492  
 30493  __779:
 30494  	OK7 = DTRUE
 30495  	goto __778
 30496  
 30497  __780:
 30498  	OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop3)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop3)).Fchartype) == ucp_Lt)
 30499  	goto __778
 30500  
 30501  __781:
 30502  	OK7 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))))
 30503  	goto __778
 30504  
 30505  __782:
 30506  	OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fchartype) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))))
 30507  	goto __778
 30508  
 30509  __783:
 30510  	OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))))
 30511  	goto __778
 30512  
 30513  __784:
 30514  	OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fscript) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))%32)) != Tuint32_t(0))
 30515  	goto __778
 30516  
 30517  	// These are specials for combination cases.
 30518  
 30519  __785:
 30520  	OK7 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_N)
 30521  	goto __778
 30522  
 30523  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 30524  	//           which means that Perl space and POSIX space are now identical. PCRE
 30525  	//           was changed at release 8.34.
 30526  
 30527  __786: // Perl space
 30528  __787: // POSIX space
 30529  	switch c {
 30530  	case Tuint32_t('\011'):
 30531  		goto __795
 30532  	case Tuint32_t('\040'):
 30533  		goto __796
 30534  	case Tuint32_t(uint8('\xa0')):
 30535  		goto __797
 30536  	case Tuint32_t(0x1680):
 30537  		goto __798 /* OGHAM SPACE MARK */
 30538  	case Tuint32_t(0x180e):
 30539  		goto __799 /* MONGOLIAN VOWEL SEPARATOR */
 30540  	case Tuint32_t(0x2000):
 30541  		goto __800 /* EN QUAD */
 30542  	case Tuint32_t(0x2001):
 30543  		goto __801 /* EM QUAD */
 30544  	case Tuint32_t(0x2002):
 30545  		goto __802 /* EN SPACE */
 30546  	case Tuint32_t(0x2003):
 30547  		goto __803 /* EM SPACE */
 30548  	case Tuint32_t(0x2004):
 30549  		goto __804 /* THREE-PER-EM SPACE */
 30550  	case Tuint32_t(0x2005):
 30551  		goto __805 /* FOUR-PER-EM SPACE */
 30552  	case Tuint32_t(0x2006):
 30553  		goto __806 /* SIX-PER-EM SPACE */
 30554  	case Tuint32_t(0x2007):
 30555  		goto __807 /* FIGURE SPACE */
 30556  	case Tuint32_t(0x2008):
 30557  		goto __808 /* PUNCTUATION SPACE */
 30558  	case Tuint32_t(0x2009):
 30559  		goto __809 /* THIN SPACE */
 30560  	case Tuint32_t(0x200A):
 30561  		goto __810 /* HAIR SPACE */
 30562  	case Tuint32_t(0x202f):
 30563  		goto __811 /* NARROW NO-BREAK SPACE */
 30564  	case Tuint32_t(0x205f):
 30565  		goto __812 /* MEDIUM MATHEMATICAL SPACE */
 30566  	case Tuint32_t(0x3000):
 30567  		goto __813
 30568  	case Tuint32_t('\012'):
 30569  		goto __814
 30570  	case Tuint32_t('\013'):
 30571  		goto __815
 30572  	case Tuint32_t('\014'):
 30573  		goto __816
 30574  	case Tuint32_t('\015'):
 30575  		goto __817
 30576  	case Tuint32_t(uint8('\x85')):
 30577  		goto __818
 30578  	case Tuint32_t(0x2028):
 30579  		goto __819 /* LINE SEPARATOR */
 30580  	case Tuint32_t(0x2029):
 30581  		goto __820
 30582  
 30583  	default:
 30584  		goto __821
 30585  	}
 30586  	goto __794
 30587  
 30588  __795:
 30589  __796:
 30590  __797:
 30591  __798: /* OGHAM SPACE MARK */
 30592  __799: /* MONGOLIAN VOWEL SEPARATOR */
 30593  __800: /* EN QUAD */
 30594  __801: /* EM QUAD */
 30595  __802: /* EN SPACE */
 30596  __803: /* EM SPACE */
 30597  __804: /* THREE-PER-EM SPACE */
 30598  __805: /* FOUR-PER-EM SPACE */
 30599  __806: /* SIX-PER-EM SPACE */
 30600  __807: /* FIGURE SPACE */
 30601  __808: /* PUNCTUATION SPACE */
 30602  __809: /* THIN SPACE */
 30603  __810: /* HAIR SPACE */
 30604  __811: /* NARROW NO-BREAK SPACE */
 30605  __812: /* MEDIUM MATHEMATICAL SPACE */
 30606  __813:
 30607  __814:
 30608  __815:
 30609  __816:
 30610  __817:
 30611  __818:
 30612  __819: /* LINE SEPARATOR */
 30613  __820:
 30614  	OK7 = DTRUE
 30615  	goto __794
 30616  
 30617  __821:
 30618  	OK7 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_Z)
 30619  	goto __794
 30620  __794:
 30621  	;
 30622  	goto __778
 30623  
 30624  __788:
 30625  	OK7 = libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop3)).Fchartype] == ucp_N || c == Tuint32_t('\137'))
 30626  	goto __778
 30627  
 30628  __789:
 30629  	cp3 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))*4
 30630  __822:
 30631  
 30632  	if !(c < *(*Tuint32_t)(unsafe.Pointer(cp3))) {
 30633  		goto __825
 30634  	}
 30635  	OK7 = DFALSE
 30636  	goto __824
 30637  __825:
 30638  	;
 30639  	if !(c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp3, 4)))) {
 30640  		goto __826
 30641  	}
 30642  	OK7 = DTRUE
 30643  	goto __824
 30644  __826:
 30645  	;
 30646  	goto __823
 30647  __823:
 30648  	goto __822
 30649  	goto __824
 30650  __824:
 30651  	;
 30652  	goto __778
 30653  
 30654  __790:
 30655  	OK7 = libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140') || c >= Tuint32_t(0xa0) && c <= Tuint32_t(0xd7ff) || c >= Tuint32_t(0xe000))
 30656  	goto __778
 30657  
 30658  __791:
 30659  	OK7 = libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))))
 30660  	goto __778
 30661  
 30662  __792:
 30663  	OK7 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))%32)) != Tuint32_t(0))
 30664  	goto __778
 30665  
 30666  	// Should never occur, but keep compilers from grumbling.
 30667  
 30668  __793:
 30669  	OK7 = libc.Bool32(codevalue != OP_PROP)
 30670  	goto __778
 30671  __778:
 30672  	;
 30673  
 30674  	if !(OK7 == libc.Bool32(d == OP_PROP)) {
 30675  		goto __827
 30676  	}
 30677  
 30678  	if !(codevalue == Tuint32_t(DOP_PROP_EXTRA+OP_TYPEPOSUPTO)) {
 30679  		goto __828
 30680  	}
 30681  
 30682  	active_count-- // Remove non-match possibility
 30683  	next_active_state -= 12
 30684  __828:
 30685  	;
 30686  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 30687  		goto __829
 30688  	}
 30689  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30690  		goto __831
 30691  	}
 30692  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1 + DIMM2_SIZE + 3
 30693  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30694  	next_new_state += 12
 30695  	goto __832
 30696  __831:
 30697  	return -43
 30698  __832:
 30699  	;
 30700  	goto __830
 30701  __829:
 30702  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30703  		goto __833
 30704  	}
 30705  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 30706  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 30707  	next_new_state += 12
 30708  	goto __834
 30709  __833:
 30710  	return -43
 30711  __834:
 30712  	;
 30713  __830:
 30714  	;
 30715  __827:
 30716  	;
 30717  __777:
 30718  	;
 30719  	goto __89
 30720  
 30721  	//-----------------------------------------------------------------
 30722  __186:
 30723  __187:
 30724  __188:
 30725  __189:
 30726  	if !(codevalue != Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEEXACT)) {
 30727  		goto __835
 30728  	}
 30729  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30730  		goto __836
 30731  	}
 30732  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 30733  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30734  	next_active_state += 12
 30735  	goto __837
 30736  __836:
 30737  	return -43
 30738  __837:
 30739  	;
 30740  __835:
 30741  	;
 30742  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 30743  	if !(clen > 0) {
 30744  		goto __838
 30745  	}
 30746  
 30747  	*(*int32)(unsafe.Pointer(bp + 8 /* ncount4 */)) = 0
 30748  	if !(codevalue == Tuint32_t(DOP_EXTUNI_EXTRA+OP_TYPEPOSUPTO)) {
 30749  		goto __839
 30750  	}
 30751  
 30752  	active_count-- // Remove non-match possibility
 30753  	next_active_state -= 12
 30754  __839:
 30755  	;
 30756  	nptr = X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, end_subject, utf,
 30757  		bp+8)
 30758  	if !(nptr >= end_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 30759  		goto __840
 30760  	}
 30761  	reset_could_continue = DTRUE
 30762  __840:
 30763  	;
 30764  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 30765  		goto __841
 30766  	}
 30767  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30768  		goto __843
 30769  	}
 30770  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE)
 30771  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30772  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 8))
 30773  	next_new_state += 12
 30774  	goto __844
 30775  __843:
 30776  	return -43
 30777  __844:
 30778  	;
 30779  	goto __842
 30780  __841:
 30781  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30782  		goto __845
 30783  	}
 30784  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 30785  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 30786  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 8))
 30787  	next_new_state += 12
 30788  	goto __846
 30789  __845:
 30790  	return -43
 30791  __846:
 30792  	;
 30793  __842:
 30794  	;
 30795  __838:
 30796  	;
 30797  	goto __89
 30798  
 30799  	//-----------------------------------------------------------------
 30800  __190:
 30801  __191:
 30802  __192:
 30803  __193:
 30804  	if !(codevalue != Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEEXACT)) {
 30805  		goto __847
 30806  	}
 30807  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30808  		goto __848
 30809  	}
 30810  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 30811  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30812  	next_active_state += 12
 30813  	goto __849
 30814  __848:
 30815  	return -43
 30816  __849:
 30817  	;
 30818  __847:
 30819  	;
 30820  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 30821  	if !(clen > 0) {
 30822  		goto __850
 30823  	}
 30824  	ncount5 = 0
 30825  	switch c {
 30826  	case Tuint32_t('\013'):
 30827  		goto __852
 30828  	case Tuint32_t('\014'):
 30829  		goto __853
 30830  	case Tuint32_t(uint8('\x85')):
 30831  		goto __854
 30832  	case Tuint32_t(0x2028):
 30833  		goto __855
 30834  	case Tuint32_t(0x2029):
 30835  		goto __856
 30836  
 30837  	case Tuint32_t('\015'):
 30838  		goto __857
 30839  	case Tuint32_t('\012'):
 30840  		goto __858
 30841  
 30842  	default:
 30843  		goto __859
 30844  	}
 30845  	goto __851
 30846  
 30847  __852:
 30848  __853:
 30849  __854:
 30850  __855:
 30851  __856:
 30852  	if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 30853  		goto __860
 30854  	}
 30855  	goto __851
 30856  __860:
 30857  	;
 30858  	goto ANYNL03
 30859  
 30860  __857:
 30861  	if !(ptr+uintptr(1) < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') {
 30862  		goto __861
 30863  	}
 30864  	ncount5 = 1
 30865  __861:
 30866  	;
 30867  	// Fall through
 30868  
 30869  ANYNL03:
 30870  __858:
 30871  	if !(codevalue == Tuint32_t(DOP_ANYNL_EXTRA+OP_TYPEPOSUPTO)) {
 30872  		goto __862
 30873  	}
 30874  
 30875  	active_count-- // Remove non-match possibility
 30876  	next_active_state -= 12
 30877  __862:
 30878  	;
 30879  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 30880  		goto __863
 30881  	}
 30882  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30883  		goto __865
 30884  	}
 30885  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE)
 30886  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 30887  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount5
 30888  	next_new_state += 12
 30889  	goto __866
 30890  __865:
 30891  	return -43
 30892  __866:
 30893  	;
 30894  	goto __864
 30895  __863:
 30896  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30897  		goto __867
 30898  	}
 30899  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 30900  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 30901  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = ncount5
 30902  	next_new_state += 12
 30903  	goto __868
 30904  __867:
 30905  	return -43
 30906  __868:
 30907  	;
 30908  __864:
 30909  	;
 30910  	goto __851
 30911  
 30912  __859:
 30913  	goto __851
 30914  __851:
 30915  	;
 30916  __850:
 30917  	;
 30918  	goto __89
 30919  
 30920  	//-----------------------------------------------------------------
 30921  __194:
 30922  __195:
 30923  __196:
 30924  __197:
 30925  	if !(codevalue != Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEEXACT)) {
 30926  		goto __869
 30927  	}
 30928  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 30929  		goto __870
 30930  	}
 30931  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 30932  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 30933  	next_active_state += 12
 30934  	goto __871
 30935  __870:
 30936  	return -43
 30937  __871:
 30938  	;
 30939  __869:
 30940  	;
 30941  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 30942  	if !(clen > 0) {
 30943  		goto __872
 30944  	}
 30945  
 30946  	switch c {
 30947  	case Tuint32_t('\012'):
 30948  		goto __874
 30949  	case Tuint32_t('\013'):
 30950  		goto __875
 30951  	case Tuint32_t('\014'):
 30952  		goto __876
 30953  	case Tuint32_t('\015'):
 30954  		goto __877
 30955  	case Tuint32_t(uint8('\x85')):
 30956  		goto __878
 30957  	case Tuint32_t(0x2028):
 30958  		goto __879 /* LINE SEPARATOR */
 30959  	case Tuint32_t(0x2029):
 30960  		goto __880
 30961  
 30962  	default:
 30963  		goto __881
 30964  	}
 30965  	goto __873
 30966  
 30967  __874:
 30968  __875:
 30969  __876:
 30970  __877:
 30971  __878:
 30972  __879: /* LINE SEPARATOR */
 30973  __880:
 30974  	OK8 = DTRUE
 30975  	goto __873
 30976  
 30977  __881:
 30978  	OK8 = DFALSE
 30979  __873:
 30980  	;
 30981  
 30982  	if !(OK8 == libc.Bool32(d == OP_VSPACE)) {
 30983  		goto __882
 30984  	}
 30985  
 30986  	if !(codevalue == Tuint32_t(DOP_VSPACE_EXTRA+OP_TYPEPOSUPTO)) {
 30987  		goto __883
 30988  	}
 30989  
 30990  	active_count-- // Remove non-match possibility
 30991  	next_active_state -= 12
 30992  __883:
 30993  	;
 30994  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 30995  		goto __884
 30996  	}
 30997  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 30998  		goto __886
 30999  	}
 31000  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE)
 31001  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31002  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 31003  	next_new_state += 12
 31004  	goto __887
 31005  __886:
 31006  	return -43
 31007  __887:
 31008  	;
 31009  	goto __885
 31010  __884:
 31011  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31012  		goto __888
 31013  	}
 31014  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 31015  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 31016  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 31017  	next_new_state += 12
 31018  	goto __889
 31019  __888:
 31020  	return -43
 31021  __889:
 31022  	;
 31023  __885:
 31024  	;
 31025  __882:
 31026  	;
 31027  __872:
 31028  	;
 31029  	goto __89
 31030  
 31031  	//-----------------------------------------------------------------
 31032  __198:
 31033  __199:
 31034  __200:
 31035  __201:
 31036  	if !(codevalue != Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEEXACT)) {
 31037  		goto __890
 31038  	}
 31039  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 31040  		goto __891
 31041  	}
 31042  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + 2 + DIMM2_SIZE
 31043  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 31044  	next_active_state += 12
 31045  	goto __892
 31046  __891:
 31047  	return -43
 31048  __892:
 31049  	;
 31050  __890:
 31051  	;
 31052  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 31053  	if !(clen > 0) {
 31054  		goto __893
 31055  	}
 31056  
 31057  	switch c {
 31058  	case Tuint32_t('\011'):
 31059  		goto __895
 31060  	case Tuint32_t('\040'):
 31061  		goto __896
 31062  	case Tuint32_t(uint8('\xa0')):
 31063  		goto __897
 31064  	case Tuint32_t(0x1680):
 31065  		goto __898 /* OGHAM SPACE MARK */
 31066  	case Tuint32_t(0x180e):
 31067  		goto __899 /* MONGOLIAN VOWEL SEPARATOR */
 31068  	case Tuint32_t(0x2000):
 31069  		goto __900 /* EN QUAD */
 31070  	case Tuint32_t(0x2001):
 31071  		goto __901 /* EM QUAD */
 31072  	case Tuint32_t(0x2002):
 31073  		goto __902 /* EN SPACE */
 31074  	case Tuint32_t(0x2003):
 31075  		goto __903 /* EM SPACE */
 31076  	case Tuint32_t(0x2004):
 31077  		goto __904 /* THREE-PER-EM SPACE */
 31078  	case Tuint32_t(0x2005):
 31079  		goto __905 /* FOUR-PER-EM SPACE */
 31080  	case Tuint32_t(0x2006):
 31081  		goto __906 /* SIX-PER-EM SPACE */
 31082  	case Tuint32_t(0x2007):
 31083  		goto __907 /* FIGURE SPACE */
 31084  	case Tuint32_t(0x2008):
 31085  		goto __908 /* PUNCTUATION SPACE */
 31086  	case Tuint32_t(0x2009):
 31087  		goto __909 /* THIN SPACE */
 31088  	case Tuint32_t(0x200A):
 31089  		goto __910 /* HAIR SPACE */
 31090  	case Tuint32_t(0x202f):
 31091  		goto __911 /* NARROW NO-BREAK SPACE */
 31092  	case Tuint32_t(0x205f):
 31093  		goto __912 /* MEDIUM MATHEMATICAL SPACE */
 31094  	case Tuint32_t(0x3000):
 31095  		goto __913
 31096  
 31097  	default:
 31098  		goto __914
 31099  	}
 31100  	goto __894
 31101  
 31102  __895:
 31103  __896:
 31104  __897:
 31105  __898: /* OGHAM SPACE MARK */
 31106  __899: /* MONGOLIAN VOWEL SEPARATOR */
 31107  __900: /* EN QUAD */
 31108  __901: /* EM QUAD */
 31109  __902: /* EN SPACE */
 31110  __903: /* EM SPACE */
 31111  __904: /* THREE-PER-EM SPACE */
 31112  __905: /* FOUR-PER-EM SPACE */
 31113  __906: /* SIX-PER-EM SPACE */
 31114  __907: /* FIGURE SPACE */
 31115  __908: /* PUNCTUATION SPACE */
 31116  __909: /* THIN SPACE */
 31117  __910: /* HAIR SPACE */
 31118  __911: /* NARROW NO-BREAK SPACE */
 31119  __912: /* MEDIUM MATHEMATICAL SPACE */
 31120  __913:
 31121  	OK9 = DTRUE
 31122  	goto __894
 31123  
 31124  __914:
 31125  	OK9 = DFALSE
 31126  	goto __894
 31127  __894:
 31128  	;
 31129  
 31130  	if !(OK9 == libc.Bool32(d == OP_HSPACE)) {
 31131  		goto __915
 31132  	}
 31133  
 31134  	if !(codevalue == Tuint32_t(DOP_HSPACE_EXTRA+OP_TYPEPOSUPTO)) {
 31135  		goto __916
 31136  	}
 31137  
 31138  	active_count-- // Remove non-match possibility
 31139  	next_active_state -= 12
 31140  __916:
 31141  	;
 31142  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 31143  		goto __917
 31144  	}
 31145  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31146  		goto __919
 31147  	}
 31148  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 2 + DIMM2_SIZE)
 31149  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31150  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 31151  	next_new_state += 12
 31152  	goto __920
 31153  __919:
 31154  	return -43
 31155  __920:
 31156  	;
 31157  	goto __918
 31158  __917:
 31159  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31160  		goto __921
 31161  	}
 31162  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -state_offset
 31163  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 31164  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 0
 31165  	next_new_state += 12
 31166  	goto __922
 31167  __921:
 31168  	return -43
 31169  __922:
 31170  	;
 31171  __918:
 31172  	;
 31173  __915:
 31174  	;
 31175  __893:
 31176  	;
 31177  	goto __89
 31178  
 31179  	// ==========================================================================
 31180  	// These opcodes are followed by a character that is usually compared
 31181  	//       to the current subject character; it is loaded into d. We still get
 31182  	//       here even if there is no subject character, because in some cases zero
 31183  	//       repetitions are permitted.
 31184  
 31185  	//-----------------------------------------------------------------
 31186  __202:
 31187  	if !(clen > 0 && c == d) {
 31188  		goto __923
 31189  	}
 31190  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31191  		goto __924
 31192  	}
 31193  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31194  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31195  	next_new_state += 12
 31196  	goto __925
 31197  __924:
 31198  	return -43
 31199  __925:
 31200  	;
 31201  __923:
 31202  	;
 31203  	goto __89
 31204  
 31205  	//-----------------------------------------------------------------
 31206  __203:
 31207  	if !(clen == 0) {
 31208  		goto __926
 31209  	}
 31210  	goto __89
 31211  __926:
 31212  	;
 31213  
 31214  	if !(utf_or_ucp != 0) {
 31215  		goto __927
 31216  	}
 31217  
 31218  	if !(c == d) {
 31219  		goto __929
 31220  	}
 31221  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31222  		goto __931
 31223  	}
 31224  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31225  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31226  	next_new_state += 12
 31227  	goto __932
 31228  __931:
 31229  	return -43
 31230  __932:
 31231  	;
 31232  	goto __930
 31233  __929:
 31234  
 31235  	if !(c < Tuint32_t(128)) {
 31236  		goto __933
 31237  	}
 31238  	othercase = uint32(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(c))))
 31239  	goto __934
 31240  __933:
 31241  	othercase = Tuint32_t(int32(c) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 31242  __934:
 31243  	;
 31244  	if !(d == othercase) {
 31245  		goto __935
 31246  	}
 31247  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31248  		goto __936
 31249  	}
 31250  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31251  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31252  	next_new_state += 12
 31253  	goto __937
 31254  __936:
 31255  	return -43
 31256  __937:
 31257  	;
 31258  __935:
 31259  	;
 31260  __930:
 31261  	;
 31262  	goto __928
 31263  __927:
 31264  	/* Not UTF or UCP mode */
 31265  
 31266  	if !(int32(*(*Tuint8_t)(unsafe.Pointer(lcc + uintptr(c)))) == int32(*(*Tuint8_t)(unsafe.Pointer(lcc + uintptr(d))))) {
 31267  		goto __938
 31268  	}
 31269  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31270  		goto __939
 31271  	}
 31272  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 2
 31273  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31274  	next_new_state += 12
 31275  	goto __940
 31276  __939:
 31277  	return -43
 31278  __940:
 31279  	;
 31280  __938:
 31281  	;
 31282  __928:
 31283  	;
 31284  	goto __89
 31285  
 31286  	//-----------------------------------------------------------------
 31287  	// This is a tricky one because it can match more than one character.
 31288  	//       Find out how many characters to skip, and then set up a negative state
 31289  	//       to wait for them to pass before continuing.
 31290  
 31291  __204:
 31292  	if !(clen > 0) {
 31293  		goto __941
 31294  	}
 31295  
 31296  	*(*int32)(unsafe.Pointer(bp + 12 /* ncount6 */)) = 0
 31297  	nptr1 = X_pcre2_extuni_8(tls, c, ptr+uintptr(clen), (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject,
 31298  		end_subject, utf, bp+12)
 31299  	if !(nptr1 >= end_subject && (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 31300  		goto __942
 31301  	}
 31302  	reset_could_continue = DTRUE
 31303  __942:
 31304  	;
 31305  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31306  		goto __943
 31307  	}
 31308  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1)
 31309  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31310  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = *(*int32)(unsafe.Pointer(bp + 12))
 31311  	next_new_state += 12
 31312  	goto __944
 31313  __943:
 31314  	return -43
 31315  __944:
 31316  	;
 31317  __941:
 31318  	;
 31319  	goto __89
 31320  
 31321  	//-----------------------------------------------------------------
 31322  	// This is a tricky like EXTUNI because it too can match more than one
 31323  	//       character (when CR is followed by LF). In this case, set up a negative
 31324  	//       state to wait for one character to pass before continuing.
 31325  
 31326  __205:
 31327  	if !(clen > 0) {
 31328  		goto __945
 31329  	}
 31330  	switch c {
 31331  	case Tuint32_t('\013'):
 31332  		goto __947
 31333  	case Tuint32_t('\014'):
 31334  		goto __948
 31335  	case Tuint32_t(uint8('\x85')):
 31336  		goto __949
 31337  	case Tuint32_t(0x2028):
 31338  		goto __950
 31339  	case Tuint32_t(0x2029):
 31340  		goto __951
 31341  	// Fall through
 31342  
 31343  	case Tuint32_t('\012'):
 31344  		goto __952
 31345  
 31346  	case Tuint32_t('\015'):
 31347  		goto __953
 31348  	}
 31349  	goto __946
 31350  
 31351  __947:
 31352  __948:
 31353  __949:
 31354  __950:
 31355  __951:
 31356  	if !(int32((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 31357  		goto __954
 31358  	}
 31359  	goto __946
 31360  __954:
 31361  	;
 31362  	// Fall through
 31363  
 31364  __952:
 31365  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31366  		goto __955
 31367  	}
 31368  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31369  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31370  	next_new_state += 12
 31371  	goto __956
 31372  __955:
 31373  	return -43
 31374  __956:
 31375  	;
 31376  	goto __946
 31377  
 31378  __953:
 31379  	if !(ptr+uintptr(1) >= end_subject) {
 31380  		goto __957
 31381  	}
 31382  
 31383  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31384  		goto __959
 31385  	}
 31386  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31387  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31388  	next_new_state += 12
 31389  	goto __960
 31390  __959:
 31391  	return -43
 31392  __960:
 31393  	;
 31394  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0)) {
 31395  		goto __961
 31396  	}
 31397  	reset_could_continue = DTRUE
 31398  __961:
 31399  	;
 31400  	goto __958
 31401  __957:
 31402  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + uintptr(1)))) == '\012') {
 31403  		goto __962
 31404  	}
 31405  
 31406  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31407  		goto __964
 31408  	}
 31409  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + 1)
 31410  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31411  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = 1
 31412  	next_new_state += 12
 31413  	goto __965
 31414  __964:
 31415  	return -43
 31416  __965:
 31417  	;
 31418  	goto __963
 31419  __962:
 31420  
 31421  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31422  		goto __966
 31423  	}
 31424  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31425  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31426  	next_new_state += 12
 31427  	goto __967
 31428  __966:
 31429  	return -43
 31430  __967:
 31431  	;
 31432  __963:
 31433  	;
 31434  __958:
 31435  	;
 31436  	goto __946
 31437  __946:
 31438  	;
 31439  __945:
 31440  	;
 31441  	goto __89
 31442  
 31443  	//-----------------------------------------------------------------
 31444  __206:
 31445  	if !(clen > 0) {
 31446  		goto __968
 31447  	}
 31448  	switch c {
 31449  	case Tuint32_t('\012'):
 31450  		goto __970
 31451  	case Tuint32_t('\013'):
 31452  		goto __971
 31453  	case Tuint32_t('\014'):
 31454  		goto __972
 31455  	case Tuint32_t('\015'):
 31456  		goto __973
 31457  	case Tuint32_t(uint8('\x85')):
 31458  		goto __974
 31459  	case Tuint32_t(0x2028):
 31460  		goto __975 /* LINE SEPARATOR */
 31461  	case Tuint32_t(0x2029):
 31462  		goto __976
 31463  
 31464  	default:
 31465  		goto __977
 31466  	}
 31467  	goto __969
 31468  
 31469  __970:
 31470  __971:
 31471  __972:
 31472  __973:
 31473  __974:
 31474  __975: /* LINE SEPARATOR */
 31475  __976:
 31476  	goto __969
 31477  
 31478  __977:
 31479  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31480  		goto __978
 31481  	}
 31482  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31483  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31484  	next_new_state += 12
 31485  	goto __979
 31486  __978:
 31487  	return -43
 31488  __979:
 31489  	;
 31490  	goto __969
 31491  __969:
 31492  	;
 31493  __968:
 31494  	;
 31495  	goto __89
 31496  
 31497  	//-----------------------------------------------------------------
 31498  __207:
 31499  	if !(clen > 0) {
 31500  		goto __980
 31501  	}
 31502  	switch c {
 31503  	case Tuint32_t('\012'):
 31504  		goto __982
 31505  	case Tuint32_t('\013'):
 31506  		goto __983
 31507  	case Tuint32_t('\014'):
 31508  		goto __984
 31509  	case Tuint32_t('\015'):
 31510  		goto __985
 31511  	case Tuint32_t(uint8('\x85')):
 31512  		goto __986
 31513  	case Tuint32_t(0x2028):
 31514  		goto __987 /* LINE SEPARATOR */
 31515  	case Tuint32_t(0x2029):
 31516  		goto __988
 31517  
 31518  	default:
 31519  		goto __989
 31520  	}
 31521  	goto __981
 31522  
 31523  __982:
 31524  __983:
 31525  __984:
 31526  __985:
 31527  __986:
 31528  __987: /* LINE SEPARATOR */
 31529  __988:
 31530  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31531  		goto __990
 31532  	}
 31533  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31534  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31535  	next_new_state += 12
 31536  	goto __991
 31537  __990:
 31538  	return -43
 31539  __991:
 31540  	;
 31541  	goto __981
 31542  
 31543  __989:
 31544  	goto __981
 31545  __981:
 31546  	;
 31547  __980:
 31548  	;
 31549  	goto __89
 31550  
 31551  	//-----------------------------------------------------------------
 31552  __208:
 31553  	if !(clen > 0) {
 31554  		goto __992
 31555  	}
 31556  	switch c {
 31557  	case Tuint32_t('\011'):
 31558  		goto __994
 31559  	case Tuint32_t('\040'):
 31560  		goto __995
 31561  	case Tuint32_t(uint8('\xa0')):
 31562  		goto __996
 31563  	case Tuint32_t(0x1680):
 31564  		goto __997 /* OGHAM SPACE MARK */
 31565  	case Tuint32_t(0x180e):
 31566  		goto __998 /* MONGOLIAN VOWEL SEPARATOR */
 31567  	case Tuint32_t(0x2000):
 31568  		goto __999 /* EN QUAD */
 31569  	case Tuint32_t(0x2001):
 31570  		goto __1000 /* EM QUAD */
 31571  	case Tuint32_t(0x2002):
 31572  		goto __1001 /* EN SPACE */
 31573  	case Tuint32_t(0x2003):
 31574  		goto __1002 /* EM SPACE */
 31575  	case Tuint32_t(0x2004):
 31576  		goto __1003 /* THREE-PER-EM SPACE */
 31577  	case Tuint32_t(0x2005):
 31578  		goto __1004 /* FOUR-PER-EM SPACE */
 31579  	case Tuint32_t(0x2006):
 31580  		goto __1005 /* SIX-PER-EM SPACE */
 31581  	case Tuint32_t(0x2007):
 31582  		goto __1006 /* FIGURE SPACE */
 31583  	case Tuint32_t(0x2008):
 31584  		goto __1007 /* PUNCTUATION SPACE */
 31585  	case Tuint32_t(0x2009):
 31586  		goto __1008 /* THIN SPACE */
 31587  	case Tuint32_t(0x200A):
 31588  		goto __1009 /* HAIR SPACE */
 31589  	case Tuint32_t(0x202f):
 31590  		goto __1010 /* NARROW NO-BREAK SPACE */
 31591  	case Tuint32_t(0x205f):
 31592  		goto __1011 /* MEDIUM MATHEMATICAL SPACE */
 31593  	case Tuint32_t(0x3000):
 31594  		goto __1012
 31595  
 31596  	default:
 31597  		goto __1013
 31598  	}
 31599  	goto __993
 31600  
 31601  __994:
 31602  __995:
 31603  __996:
 31604  __997: /* OGHAM SPACE MARK */
 31605  __998: /* MONGOLIAN VOWEL SEPARATOR */
 31606  __999: /* EN QUAD */
 31607  __1000: /* EM QUAD */
 31608  __1001: /* EN SPACE */
 31609  __1002: /* EM SPACE */
 31610  __1003: /* THREE-PER-EM SPACE */
 31611  __1004: /* FOUR-PER-EM SPACE */
 31612  __1005: /* SIX-PER-EM SPACE */
 31613  __1006: /* FIGURE SPACE */
 31614  __1007: /* PUNCTUATION SPACE */
 31615  __1008: /* THIN SPACE */
 31616  __1009: /* HAIR SPACE */
 31617  __1010: /* NARROW NO-BREAK SPACE */
 31618  __1011: /* MEDIUM MATHEMATICAL SPACE */
 31619  __1012:
 31620  	goto __993
 31621  
 31622  __1013:
 31623  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31624  		goto __1014
 31625  	}
 31626  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31627  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31628  	next_new_state += 12
 31629  	goto __1015
 31630  __1014:
 31631  	return -43
 31632  __1015:
 31633  	;
 31634  	goto __993
 31635  __993:
 31636  	;
 31637  __992:
 31638  	;
 31639  	goto __89
 31640  
 31641  	//-----------------------------------------------------------------
 31642  __209:
 31643  	if !(clen > 0) {
 31644  		goto __1016
 31645  	}
 31646  	switch c {
 31647  	case Tuint32_t('\011'):
 31648  		goto __1018
 31649  	case Tuint32_t('\040'):
 31650  		goto __1019
 31651  	case Tuint32_t(uint8('\xa0')):
 31652  		goto __1020
 31653  	case Tuint32_t(0x1680):
 31654  		goto __1021 /* OGHAM SPACE MARK */
 31655  	case Tuint32_t(0x180e):
 31656  		goto __1022 /* MONGOLIAN VOWEL SEPARATOR */
 31657  	case Tuint32_t(0x2000):
 31658  		goto __1023 /* EN QUAD */
 31659  	case Tuint32_t(0x2001):
 31660  		goto __1024 /* EM QUAD */
 31661  	case Tuint32_t(0x2002):
 31662  		goto __1025 /* EN SPACE */
 31663  	case Tuint32_t(0x2003):
 31664  		goto __1026 /* EM SPACE */
 31665  	case Tuint32_t(0x2004):
 31666  		goto __1027 /* THREE-PER-EM SPACE */
 31667  	case Tuint32_t(0x2005):
 31668  		goto __1028 /* FOUR-PER-EM SPACE */
 31669  	case Tuint32_t(0x2006):
 31670  		goto __1029 /* SIX-PER-EM SPACE */
 31671  	case Tuint32_t(0x2007):
 31672  		goto __1030 /* FIGURE SPACE */
 31673  	case Tuint32_t(0x2008):
 31674  		goto __1031 /* PUNCTUATION SPACE */
 31675  	case Tuint32_t(0x2009):
 31676  		goto __1032 /* THIN SPACE */
 31677  	case Tuint32_t(0x200A):
 31678  		goto __1033 /* HAIR SPACE */
 31679  	case Tuint32_t(0x202f):
 31680  		goto __1034 /* NARROW NO-BREAK SPACE */
 31681  	case Tuint32_t(0x205f):
 31682  		goto __1035 /* MEDIUM MATHEMATICAL SPACE */
 31683  	case Tuint32_t(0x3000):
 31684  		goto __1036
 31685  
 31686  	default:
 31687  		goto __1037
 31688  	}
 31689  	goto __1017
 31690  
 31691  __1018:
 31692  __1019:
 31693  __1020:
 31694  __1021: /* OGHAM SPACE MARK */
 31695  __1022: /* MONGOLIAN VOWEL SEPARATOR */
 31696  __1023: /* EN QUAD */
 31697  __1024: /* EM QUAD */
 31698  __1025: /* EN SPACE */
 31699  __1026: /* EM SPACE */
 31700  __1027: /* THREE-PER-EM SPACE */
 31701  __1028: /* FOUR-PER-EM SPACE */
 31702  __1029: /* SIX-PER-EM SPACE */
 31703  __1030: /* FIGURE SPACE */
 31704  __1031: /* PUNCTUATION SPACE */
 31705  __1032: /* THIN SPACE */
 31706  __1033: /* HAIR SPACE */
 31707  __1034: /* NARROW NO-BREAK SPACE */
 31708  __1035: /* MEDIUM MATHEMATICAL SPACE */
 31709  __1036:
 31710  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31711  		goto __1038
 31712  	}
 31713  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + 1
 31714  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31715  	next_new_state += 12
 31716  	goto __1039
 31717  __1038:
 31718  	return -43
 31719  __1039:
 31720  	;
 31721  	goto __1017
 31722  
 31723  __1037:
 31724  	goto __1017
 31725  __1017:
 31726  	;
 31727  __1016:
 31728  	;
 31729  	goto __89
 31730  
 31731  	//-----------------------------------------------------------------
 31732  	// Match a negated single character casefully.
 31733  
 31734  __210:
 31735  	if !(clen > 0 && c != d) {
 31736  		goto __1040
 31737  	}
 31738  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31739  		goto __1041
 31740  	}
 31741  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31742  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31743  	next_new_state += 12
 31744  	goto __1042
 31745  __1041:
 31746  	return -43
 31747  __1042:
 31748  	;
 31749  __1040:
 31750  	;
 31751  	goto __89
 31752  
 31753  	//-----------------------------------------------------------------
 31754  	// Match a negated single character caselessly.
 31755  
 31756  __211:
 31757  	if !(clen > 0) {
 31758  		goto __1043
 31759  	}
 31760  
 31761  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 31762  		goto __1044
 31763  	}
 31764  	otherd = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 31765  	goto __1045
 31766  __1044:
 31767  	otherd = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 31768  __1045:
 31769  	;
 31770  	if !(c != d && c != otherd) {
 31771  		goto __1046
 31772  	}
 31773  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31774  		goto __1047
 31775  	}
 31776  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31777  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31778  	next_new_state += 12
 31779  	goto __1048
 31780  __1047:
 31781  	return -43
 31782  __1048:
 31783  	;
 31784  __1046:
 31785  	;
 31786  __1043:
 31787  	;
 31788  	goto __89
 31789  
 31790  	//-----------------------------------------------------------------
 31791  __212:
 31792  __213:
 31793  __214:
 31794  __215:
 31795  __216:
 31796  __217:
 31797  	caseless = DTRUE
 31798  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 31799  
 31800  	// Fall through
 31801  __218:
 31802  __219:
 31803  __220:
 31804  __221:
 31805  __222:
 31806  __223:
 31807  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 31808  	if !(count > 0) {
 31809  		goto __1049
 31810  	}
 31811  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 31812  		goto __1050
 31813  	}
 31814  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1
 31815  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 31816  	next_active_state += 12
 31817  	goto __1051
 31818  __1050:
 31819  	return -43
 31820  __1051:
 31821  	;
 31822  __1049:
 31823  	;
 31824  	if !(clen > 0) {
 31825  		goto __1052
 31826  	}
 31827  
 31828  	otherd1 = DNOTACHAR
 31829  	if !(caseless != 0) {
 31830  		goto __1053
 31831  	}
 31832  
 31833  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 31834  		goto __1054
 31835  	}
 31836  	otherd1 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 31837  	goto __1055
 31838  __1054:
 31839  	otherd1 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 31840  __1055:
 31841  	;
 31842  __1053:
 31843  	;
 31844  	if !(libc.Bool32(c == d || c == otherd1) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 31845  		goto __1056
 31846  	}
 31847  
 31848  	if !(count > 0 && (codevalue == OP_POSPLUS || codevalue == OP_NOTPOSPLUS)) {
 31849  		goto __1057
 31850  	}
 31851  
 31852  	active_count-- // Remove non-match possibility
 31853  	next_active_state -= 12
 31854  __1057:
 31855  	;
 31856  	count++
 31857  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31858  		goto __1058
 31859  	}
 31860  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 31861  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 31862  	next_new_state += 12
 31863  	goto __1059
 31864  __1058:
 31865  	return -43
 31866  __1059:
 31867  	;
 31868  __1056:
 31869  	;
 31870  __1052:
 31871  	;
 31872  	goto __89
 31873  
 31874  	//-----------------------------------------------------------------
 31875  __224:
 31876  __225:
 31877  __226:
 31878  __227:
 31879  __228:
 31880  __229:
 31881  	caseless = DTRUE
 31882  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 31883  	// Fall through
 31884  __230:
 31885  __231:
 31886  __232:
 31887  __233:
 31888  __234:
 31889  __235:
 31890  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 31891  		goto __1060
 31892  	}
 31893  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1
 31894  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 31895  	next_active_state += 12
 31896  	goto __1061
 31897  __1060:
 31898  	return -43
 31899  __1061:
 31900  	;
 31901  	if !(clen > 0) {
 31902  		goto __1062
 31903  	}
 31904  
 31905  	otherd2 = DNOTACHAR
 31906  	if !(caseless != 0) {
 31907  		goto __1063
 31908  	}
 31909  
 31910  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 31911  		goto __1064
 31912  	}
 31913  	otherd2 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 31914  	goto __1065
 31915  __1064:
 31916  	otherd2 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 31917  __1065:
 31918  	;
 31919  __1063:
 31920  	;
 31921  	if !(libc.Bool32(c == d || c == otherd2) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 31922  		goto __1066
 31923  	}
 31924  
 31925  	if !(codevalue == OP_POSQUERY || codevalue == OP_NOTPOSQUERY) {
 31926  		goto __1067
 31927  	}
 31928  
 31929  	active_count-- // Remove non-match possibility
 31930  	next_active_state -= 12
 31931  __1067:
 31932  	;
 31933  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 31934  		goto __1068
 31935  	}
 31936  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1
 31937  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 31938  	next_new_state += 12
 31939  	goto __1069
 31940  __1068:
 31941  	return -43
 31942  __1069:
 31943  	;
 31944  __1066:
 31945  	;
 31946  __1062:
 31947  	;
 31948  	goto __89
 31949  
 31950  	//-----------------------------------------------------------------
 31951  __236:
 31952  __237:
 31953  __238:
 31954  __239:
 31955  __240:
 31956  __241:
 31957  	caseless = DTRUE
 31958  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 31959  	// Fall through
 31960  __242:
 31961  __243:
 31962  __244:
 31963  __245:
 31964  __246:
 31965  __247:
 31966  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 31967  		goto __1070
 31968  	}
 31969  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1
 31970  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 31971  	next_active_state += 12
 31972  	goto __1071
 31973  __1070:
 31974  	return -43
 31975  __1071:
 31976  	;
 31977  	if !(clen > 0) {
 31978  		goto __1072
 31979  	}
 31980  
 31981  	otherd3 = DNOTACHAR
 31982  	if !(caseless != 0) {
 31983  		goto __1073
 31984  	}
 31985  
 31986  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 31987  		goto __1074
 31988  	}
 31989  	otherd3 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 31990  	goto __1075
 31991  __1074:
 31992  	otherd3 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 31993  __1075:
 31994  	;
 31995  __1073:
 31996  	;
 31997  	if !(libc.Bool32(c == d || c == otherd3) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 31998  		goto __1076
 31999  	}
 32000  
 32001  	if !(codevalue == OP_POSSTAR || codevalue == OP_NOTPOSSTAR) {
 32002  		goto __1077
 32003  	}
 32004  
 32005  	active_count-- // Remove non-match possibility
 32006  	next_active_state -= 12
 32007  __1077:
 32008  	;
 32009  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32010  		goto __1078
 32011  	}
 32012  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32013  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32014  	next_new_state += 12
 32015  	goto __1079
 32016  __1078:
 32017  	return -43
 32018  __1079:
 32019  	;
 32020  __1076:
 32021  	;
 32022  __1072:
 32023  	;
 32024  	goto __89
 32025  
 32026  	//-----------------------------------------------------------------
 32027  __248:
 32028  __249:
 32029  	caseless = DTRUE
 32030  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 32031  	// Fall through
 32032  __250:
 32033  __251:
 32034  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 32035  	if !(clen > 0) {
 32036  		goto __1080
 32037  	}
 32038  
 32039  	otherd4 = DNOTACHAR
 32040  	if !(caseless != 0) {
 32041  		goto __1081
 32042  	}
 32043  
 32044  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 32045  		goto __1082
 32046  	}
 32047  	otherd4 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 32048  	goto __1083
 32049  __1082:
 32050  	otherd4 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 32051  __1083:
 32052  	;
 32053  __1081:
 32054  	;
 32055  	if !(libc.Bool32(c == d || c == otherd4) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 32056  		goto __1084
 32057  	}
 32058  
 32059  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 32060  		goto __1085
 32061  	}
 32062  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32063  		goto __1087
 32064  	}
 32065  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1 + DIMM2_SIZE
 32066  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32067  	next_new_state += 12
 32068  	goto __1088
 32069  __1087:
 32070  	return -43
 32071  __1088:
 32072  	;
 32073  	goto __1086
 32074  __1085:
 32075  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32076  		goto __1089
 32077  	}
 32078  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32079  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 32080  	next_new_state += 12
 32081  	goto __1090
 32082  __1089:
 32083  	return -43
 32084  __1090:
 32085  	;
 32086  __1086:
 32087  	;
 32088  __1084:
 32089  	;
 32090  __1080:
 32091  	;
 32092  	goto __89
 32093  
 32094  	//-----------------------------------------------------------------
 32095  __252:
 32096  __253:
 32097  __254:
 32098  __255:
 32099  __256:
 32100  __257:
 32101  	caseless = DTRUE
 32102  	codevalue = codevalue - Tuint32_t(OP_STARI-OP_STAR)
 32103  	// Fall through
 32104  __258:
 32105  __259:
 32106  __260:
 32107  __261:
 32108  __262:
 32109  __263:
 32110  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32111  		goto __1091
 32112  	}
 32113  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + dlen + 1 + DIMM2_SIZE
 32114  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32115  	next_active_state += 12
 32116  	goto __1092
 32117  __1091:
 32118  	return -43
 32119  __1092:
 32120  	;
 32121  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Number already matched
 32122  	if !(clen > 0) {
 32123  		goto __1093
 32124  	}
 32125  
 32126  	otherd5 = DNOTACHAR
 32127  	if !(caseless != 0) {
 32128  		goto __1094
 32129  	}
 32130  
 32131  	if !(utf_or_ucp != 0 && d >= Tuint32_t(128)) {
 32132  		goto __1095
 32133  	}
 32134  	otherd5 = Tuint32_t(int32(d) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 32135  	goto __1096
 32136  __1095:
 32137  	otherd5 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer(fcc + uintptr(d))))
 32138  __1096:
 32139  	;
 32140  __1094:
 32141  	;
 32142  	if !(libc.Bool32(c == d || c == otherd5) == libc.Bool32(codevalue < OP_NOTSTAR)) {
 32143  		goto __1097
 32144  	}
 32145  
 32146  	if !(codevalue == OP_POSUPTO || codevalue == OP_NOTPOSUPTO) {
 32147  		goto __1098
 32148  	}
 32149  
 32150  	active_count-- // Remove non-match possibility
 32151  	next_active_state -= 12
 32152  __1098:
 32153  	;
 32154  	if !(libc.PreIncInt32(&count, 1) >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))) {
 32155  		goto __1099
 32156  	}
 32157  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32158  		goto __1101
 32159  	}
 32160  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset + dlen + 1 + DIMM2_SIZE
 32161  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32162  	next_new_state += 12
 32163  	goto __1102
 32164  __1101:
 32165  	return -43
 32166  __1102:
 32167  	;
 32168  	goto __1100
 32169  __1099:
 32170  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32171  		goto __1103
 32172  	}
 32173  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32174  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 32175  	next_new_state += 12
 32176  	goto __1104
 32177  __1103:
 32178  	return -43
 32179  __1104:
 32180  	;
 32181  __1100:
 32182  	;
 32183  __1097:
 32184  	;
 32185  __1093:
 32186  	;
 32187  	goto __89
 32188  
 32189  	// ==========================================================================
 32190  	// These are the class-handling opcodes
 32191  
 32192  __264:
 32193  __265:
 32194  __266:
 32195  
 32196  	isinclass = DFALSE
 32197  
 32198  	// For a simple class, there is always just a 32-byte table, and we
 32199  	//         can set isinclass from it.
 32200  
 32201  	if !(codevalue != OP_XCLASS) {
 32202  		goto __1105
 32203  	}
 32204  
 32205  	ecode = code + uintptr(1) + uintptr(uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 32206  	if !(clen > 0) {
 32207  		goto __1107
 32208  	}
 32209  
 32210  	if c > Tuint32_t(255) {
 32211  		isinclass = libc.Bool32(codevalue == OP_NCLASS)
 32212  	} else {
 32213  		isinclass = libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(code + uintptr(1) + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0))
 32214  	}
 32215  __1107:
 32216  	;
 32217  	goto __1106
 32218  __1105:
 32219  
 32220  	ecode = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 32221  	if !(clen > 0) {
 32222  		goto __1108
 32223  	}
 32224  	isinclass = X_pcre2_xclass_8(tls, c, code+uintptr(1)+uintptr(DLINK_SIZE), utf)
 32225  __1108:
 32226  	;
 32227  __1106:
 32228  	;
 32229  
 32230  	// At this point, isinclass is set for all kinds of class, and ecode
 32231  	//         points to the byte after the end of the class. If there is a
 32232  	//         quantifier, this is where it will be.
 32233  
 32234  	next_state_offset = int32((int64(ecode) - int64(start_code)) / 1)
 32235  
 32236  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) {
 32237  	case OP_CRSTAR:
 32238  		goto __1110
 32239  	case OP_CRMINSTAR:
 32240  		goto __1111
 32241  	case OP_CRPOSSTAR:
 32242  		goto __1112
 32243  
 32244  	case OP_CRPLUS:
 32245  		goto __1113
 32246  	case OP_CRMINPLUS:
 32247  		goto __1114
 32248  	case OP_CRPOSPLUS:
 32249  		goto __1115
 32250  
 32251  	case OP_CRQUERY:
 32252  		goto __1116
 32253  	case OP_CRMINQUERY:
 32254  		goto __1117
 32255  	case OP_CRPOSQUERY:
 32256  		goto __1118
 32257  
 32258  	case OP_CRRANGE:
 32259  		goto __1119
 32260  	case OP_CRMINRANGE:
 32261  		goto __1120
 32262  	case OP_CRPOSRANGE:
 32263  		goto __1121
 32264  
 32265  	default:
 32266  		goto __1122
 32267  	}
 32268  	goto __1109
 32269  
 32270  __1110:
 32271  __1111:
 32272  __1112:
 32273  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32274  		goto __1123
 32275  	}
 32276  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1
 32277  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32278  	next_active_state += 12
 32279  	goto __1124
 32280  __1123:
 32281  	return -43
 32282  __1124:
 32283  	;
 32284  	if !(isinclass != 0) {
 32285  		goto __1125
 32286  	}
 32287  
 32288  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSSTAR) {
 32289  		goto __1126
 32290  	}
 32291  
 32292  	active_count-- // Remove non-match possibility
 32293  	next_active_state -= 12
 32294  __1126:
 32295  	;
 32296  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32297  		goto __1127
 32298  	}
 32299  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32300  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32301  	next_new_state += 12
 32302  	goto __1128
 32303  __1127:
 32304  	return -43
 32305  __1128:
 32306  	;
 32307  __1125:
 32308  	;
 32309  	goto __1109
 32310  
 32311  __1113:
 32312  __1114:
 32313  __1115:
 32314  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 32315  	if !(count > 0) {
 32316  		goto __1129
 32317  	}
 32318  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32319  		goto __1130
 32320  	}
 32321  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1
 32322  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32323  	next_active_state += 12
 32324  	goto __1131
 32325  __1130:
 32326  	return -43
 32327  __1131:
 32328  	;
 32329  __1129:
 32330  	;
 32331  	if !(isinclass != 0) {
 32332  		goto __1132
 32333  	}
 32334  
 32335  	if !(count > 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSPLUS) {
 32336  		goto __1133
 32337  	}
 32338  
 32339  	active_count-- // Remove non-match possibility
 32340  	next_active_state -= 12
 32341  __1133:
 32342  	;
 32343  	count++
 32344  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32345  		goto __1134
 32346  	}
 32347  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32348  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 32349  	next_new_state += 12
 32350  	goto __1135
 32351  __1134:
 32352  	return -43
 32353  __1135:
 32354  	;
 32355  __1132:
 32356  	;
 32357  	goto __1109
 32358  
 32359  __1116:
 32360  __1117:
 32361  __1118:
 32362  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32363  		goto __1136
 32364  	}
 32365  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1
 32366  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32367  	next_active_state += 12
 32368  	goto __1137
 32369  __1136:
 32370  	return -43
 32371  __1137:
 32372  	;
 32373  	if !(isinclass != 0) {
 32374  		goto __1138
 32375  	}
 32376  
 32377  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSQUERY) {
 32378  		goto __1139
 32379  	}
 32380  
 32381  	active_count-- // Remove non-match possibility
 32382  	next_active_state -= 12
 32383  __1139:
 32384  	;
 32385  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32386  		goto __1140
 32387  	}
 32388  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset + 1
 32389  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32390  	next_new_state += 12
 32391  	goto __1141
 32392  __1140:
 32393  	return -43
 32394  __1141:
 32395  	;
 32396  __1138:
 32397  	;
 32398  	goto __1109
 32399  
 32400  __1119:
 32401  __1120:
 32402  __1121:
 32403  	count = (*Tstateblock)(unsafe.Pointer(current_state)).Fcount // Already matched
 32404  	if !(count >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 2)))))) {
 32405  		goto __1142
 32406  	}
 32407  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32408  		goto __1143
 32409  	}
 32410  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset + 1 + 2*DIMM2_SIZE
 32411  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32412  	next_active_state += 12
 32413  	goto __1144
 32414  __1143:
 32415  	return -43
 32416  __1144:
 32417  	;
 32418  __1142:
 32419  	;
 32420  	if !(isinclass != 0) {
 32421  		goto __1145
 32422  	}
 32423  
 32424  	max = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 4)))))
 32425  
 32426  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode))) == OP_CRPOSRANGE && count >= int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ecode + 2)))))) {
 32427  		goto __1146
 32428  	}
 32429  
 32430  	active_count-- // Remove non-match possibility
 32431  	next_active_state -= 12
 32432  __1146:
 32433  	;
 32434  
 32435  	if !(libc.PreIncInt32(&count, 1) >= max && max != 0) {
 32436  		goto __1147
 32437  	} /* Max 0 => no limit */
 32438  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32439  		goto __1149
 32440  	}
 32441  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset + 1 + 2*DIMM2_SIZE
 32442  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32443  	next_new_state += 12
 32444  	goto __1150
 32445  __1149:
 32446  	return -43
 32447  __1150:
 32448  	;
 32449  	goto __1148
 32450  __1147:
 32451  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32452  		goto __1151
 32453  	}
 32454  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = state_offset
 32455  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = count
 32456  	next_new_state += 12
 32457  	goto __1152
 32458  __1151:
 32459  	return -43
 32460  __1152:
 32461  	;
 32462  __1148:
 32463  	;
 32464  __1145:
 32465  	;
 32466  	goto __1109
 32467  
 32468  __1122:
 32469  	if !(isinclass != 0) {
 32470  		goto __1153
 32471  	}
 32472  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32473  		goto __1154
 32474  	}
 32475  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset
 32476  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32477  	next_new_state += 12
 32478  	goto __1155
 32479  __1154:
 32480  	return -43
 32481  __1155:
 32482  	;
 32483  __1153:
 32484  	;
 32485  	goto __1109
 32486  __1109:
 32487  	;
 32488  
 32489  	goto __89
 32490  
 32491  	// ==========================================================================
 32492  	// These are the opcodes for fancy brackets of various kinds. We have
 32493  	//       to use recursion in order to handle them. The "always failing" assertion
 32494  	//       (?!) is optimised to OP_FAIL when compiling, so we have to support that,
 32495  	//       though the other "backtracking verbs" are not supported.
 32496  
 32497  __267:
 32498  	forced_fail++ // Count FAILs for multiple states
 32499  	goto __89
 32500  
 32501  __268:
 32502  __269:
 32503  __270:
 32504  __271:
 32505  
 32506  	endasscode = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 32507  	*(*uintptr)(unsafe.Pointer(bp + 16 /* rws */)) = RWS
 32508  
 32509  	if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).Ffree) < uint64(DRWS_RSIZE)+uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) {
 32510  		goto __1156
 32511  	}
 32512  
 32513  	rc = more_workspace(tls, bp+16, uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb)
 32514  	if !(rc != 0) {
 32515  		goto __1157
 32516  	}
 32517  	return rc
 32518  __1157:
 32519  	;
 32520  	RWS = *(*uintptr)(unsafe.Pointer(bp + 16 /* rws */))
 32521  __1156:
 32522  	;
 32523  
 32524  	local_offsets = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)))).Ffree)*4
 32525  	local_workspace = local_offsets + uintptr(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4
 32526  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 32527  
 32528  __1158:
 32529  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode))) == OP_ALT) {
 32530  		goto __1159
 32531  	}
 32532  	endasscode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode + 2)))))
 32533  	goto __1158
 32534  __1159:
 32535  	;
 32536  
 32537  	rc = internal_dfa_match(tls,
 32538  		mb,   // static match data
 32539  		code, // this subexpression's code
 32540  		ptr,  // where we currently are
 32541  		Tsize_t((int64(ptr)-int64(start_subject))/1),
 32542  		local_offsets, // offset vector
 32543  		uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))),
 32544  		local_workspace, // workspace vector
 32545  		DRWS_RSIZE,      // size of same
 32546  		rlevel,          // function recursion level
 32547  		RWS)             // recursion workspace
 32548  
 32549  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 32550  
 32551  	if !(rc < 0 && rc != -1) {
 32552  		goto __1160
 32553  	}
 32554  	return rc
 32555  __1160:
 32556  	;
 32557  	if !(libc.Bool32(rc >= 0) == libc.Bool32(codevalue == OP_ASSERT || codevalue == OP_ASSERTBACK)) {
 32558  		goto __1161
 32559  	}
 32560  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32561  		goto __1162
 32562  	}
 32563  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(endasscode+uintptr(DLINK_SIZE)+uintptr(1)) - int64(start_code)) / 1)
 32564  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32565  	next_active_state += 12
 32566  	goto __1163
 32567  __1162:
 32568  	return -43
 32569  __1163:
 32570  	;
 32571  __1161:
 32572  	;
 32573  
 32574  	goto __89
 32575  
 32576  	//-----------------------------------------------------------------
 32577  __272:
 32578  __273:
 32579  
 32580  	codelink = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 32581  
 32582  	// Because of the way auto-callout works during compile, a callout item
 32583  	//         is inserted between OP_COND and an assertion condition. This does not
 32584  	//         happen for the other conditions.
 32585  
 32586  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_CALLOUT ||
 32587  		int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_CALLOUT_STR) {
 32588  		goto __1164
 32589  	}
 32590  
 32591  	rrc = do_callout(tls, code, offsets, current_subject, ptr, mb,
 32592  		uint64(1+DLINK_SIZE), bp+24)
 32593  	if !(rrc < 0) {
 32594  		goto __1165
 32595  	}
 32596  	return rrc
 32597  __1165:
 32598  	; // Abandon
 32599  	if !(rrc > 0) {
 32600  		goto __1166
 32601  	}
 32602  	goto __89
 32603  __1166:
 32604  	;                                                                               // Fail this thread
 32605  	code += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 24 /* callout_length */))) // Skip callout data
 32606  __1164:
 32607  	;
 32608  
 32609  	condcode = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))
 32610  
 32611  	// Back reference conditions and duplicate named recursion conditions
 32612  	//         are not supported
 32613  
 32614  	if !(int32(condcode) == OP_CREF || int32(condcode) == OP_DNCREF || int32(condcode) == OP_DNRREF) {
 32615  		goto __1167
 32616  	}
 32617  	return -40
 32618  __1167:
 32619  	;
 32620  
 32621  	// The DEFINE condition is always false, and the assertion (?!) is
 32622  	//         converted to OP_FAIL.
 32623  
 32624  	if !(int32(condcode) == OP_FALSE || int32(condcode) == OP_FAIL) {
 32625  		goto __1168
 32626  	}
 32627  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32628  		goto __1170
 32629  	}
 32630  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + codelink + DLINK_SIZE + 1
 32631  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32632  	next_active_state += 12
 32633  	goto __1171
 32634  __1170:
 32635  	return -43
 32636  __1171:
 32637  	;
 32638  	goto __1169
 32639  __1168:
 32640  	if !(int32(condcode) == OP_TRUE) {
 32641  		goto __1172
 32642  	}
 32643  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32644  		goto __1174
 32645  	}
 32646  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + DLINK_SIZE + 2
 32647  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32648  	next_active_state += 12
 32649  	goto __1175
 32650  __1174:
 32651  	return -43
 32652  __1175:
 32653  	;
 32654  	goto __1173
 32655  __1172:
 32656  	if !(int32(condcode) == OP_RREF) {
 32657  		goto __1176
 32658  	}
 32659  
 32660  	value = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5))))
 32661  	if !(value != uint32(DRREF_ANY)) {
 32662  		goto __1178
 32663  	}
 32664  	return -40
 32665  __1178:
 32666  	;
 32667  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive != uintptr(0)) {
 32668  		goto __1179
 32669  	}
 32670  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32671  		goto __1181
 32672  	}
 32673  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + DLINK_SIZE + 2 + DIMM2_SIZE
 32674  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32675  	next_active_state += 12
 32676  	goto __1182
 32677  __1181:
 32678  	return -43
 32679  __1182:
 32680  	;
 32681  	goto __1180
 32682  __1179:
 32683  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32684  		goto __1183
 32685  	}
 32686  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + codelink + DLINK_SIZE + 1
 32687  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32688  	next_active_state += 12
 32689  	goto __1184
 32690  __1183:
 32691  	return -43
 32692  __1184:
 32693  	;
 32694  __1180:
 32695  	;
 32696  	goto __1177
 32697  __1176:
 32698  
 32699  	asscode = code + uintptr(DLINK_SIZE) + uintptr(1)
 32700  	endasscode1 = asscode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(asscode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(asscode + 2)))))
 32701  	*(*uintptr)(unsafe.Pointer(bp + 32 /* rws1 */)) = RWS
 32702  
 32703  	if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Ffree) < uint64(DRWS_RSIZE)+uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) {
 32704  		goto __1185
 32705  	}
 32706  
 32707  	rc1 = more_workspace(tls, bp+32, uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb)
 32708  	if !(rc1 != 0) {
 32709  		goto __1186
 32710  	}
 32711  	return rc1
 32712  __1186:
 32713  	;
 32714  	RWS = *(*uintptr)(unsafe.Pointer(bp + 32 /* rws1 */))
 32715  __1185:
 32716  	;
 32717  
 32718  	local_offsets1 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Ffree)*4
 32719  	local_workspace1 = local_offsets1 + uintptr(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4
 32720  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 32721  
 32722  __1187:
 32723  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode1))) == OP_ALT) {
 32724  		goto __1188
 32725  	}
 32726  	endasscode1 += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode1 + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(endasscode1 + 2)))))
 32727  	goto __1187
 32728  __1188:
 32729  	;
 32730  
 32731  	rc1 = internal_dfa_match(tls,
 32732  		mb,      // fixed match data
 32733  		asscode, // this subexpression's code
 32734  		ptr,     // where we currently are
 32735  		Tsize_t((int64(ptr)-int64(start_subject))/1),
 32736  		local_offsets1, // offset vector
 32737  		uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))),
 32738  		local_workspace1, // workspace vector
 32739  		DRWS_RSIZE,       // size of same
 32740  		rlevel,           // function recursion level
 32741  		RWS)              // recursion workspace
 32742  
 32743  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 32744  
 32745  	if !(rc1 < 0 && rc1 != -1) {
 32746  		goto __1189
 32747  	}
 32748  	return rc1
 32749  __1189:
 32750  	;
 32751  	if !(libc.Bool32(rc1 >= 0) == libc.Bool32(int32(condcode) == OP_ASSERT || int32(condcode) == OP_ASSERTBACK)) {
 32752  		goto __1190
 32753  	}
 32754  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32755  		goto __1192
 32756  	}
 32757  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = int32((int64(endasscode1+uintptr(DLINK_SIZE)+uintptr(1)) - int64(start_code)) / 1)
 32758  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32759  	next_active_state += 12
 32760  	goto __1193
 32761  __1192:
 32762  	return -43
 32763  __1193:
 32764  	;
 32765  	goto __1191
 32766  __1190:
 32767  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32768  		goto __1194
 32769  	}
 32770  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + codelink + DLINK_SIZE + 1
 32771  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32772  	next_active_state += 12
 32773  	goto __1195
 32774  __1194:
 32775  	return -43
 32776  __1195:
 32777  	;
 32778  __1191:
 32779  	;
 32780  __1177:
 32781  	;
 32782  __1173:
 32783  	;
 32784  __1169:
 32785  	;
 32786  
 32787  	goto __89
 32788  
 32789  	//-----------------------------------------------------------------
 32790  __274:
 32791  
 32792  	*(*uintptr)(unsafe.Pointer(bp + 40 /* rws2 */)) = RWS
 32793  	callpat = start_code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 32794  	if callpat == (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code {
 32795  		recno = uint32(0)
 32796  	} else {
 32797  		recno = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(callpat + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(callpat + 4))))
 32798  	}
 32799  
 32800  	if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Ffree) < uint64(DRWS_RSIZE)+uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) {
 32801  		goto __1196
 32802  	}
 32803  
 32804  	rc2 = more_workspace(tls, bp+40, uint32(uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb)
 32805  	if !(rc2 != 0) {
 32806  		goto __1197
 32807  	}
 32808  	return rc2
 32809  __1197:
 32810  	;
 32811  	RWS = *(*uintptr)(unsafe.Pointer(bp + 40 /* rws2 */))
 32812  __1196:
 32813  	;
 32814  
 32815  	local_offsets2 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Ffree)*4
 32816  	local_workspace2 = local_offsets2 + uintptr(uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4
 32817  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 32818  
 32819  	// Check for repeating a recursion without advancing the subject
 32820  	//         pointer. This should catch convoluted mutual recursions. (Some simple
 32821  	//         cases are caught at compile time.)
 32822  
 32823  	ri = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive
 32824  __1198:
 32825  	if !(ri != uintptr(0)) {
 32826  		goto __1200
 32827  	}
 32828  	if !(recno == (*Tdfa_recursion_info)(unsafe.Pointer(ri)).Fgroup_num && ptr == (*Tdfa_recursion_info)(unsafe.Pointer(ri)).Fsubject_position) {
 32829  		goto __1201
 32830  	}
 32831  	return -52
 32832  __1201:
 32833  	;
 32834  	goto __1199
 32835  __1199:
 32836  	ri = (*Tdfa_recursion_info)(unsafe.Pointer(ri)).Fprevrec
 32837  	goto __1198
 32838  	goto __1200
 32839  __1200:
 32840  	;
 32841  
 32842  	// Remember this recursion and where we started it so as to
 32843  	//         catch infinite loops.
 32844  
 32845  	(*Tdfa_recursion_info)(unsafe.Pointer(bp + 48 /* &new_recursive */)).Fgroup_num = recno
 32846  	(*Tdfa_recursion_info)(unsafe.Pointer(bp + 48 /* &new_recursive */)).Fsubject_position = ptr
 32847  	(*Tdfa_recursion_info)(unsafe.Pointer(bp + 48 /* &new_recursive */)).Fprevrec = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive
 32848  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive = bp + 48 /* &new_recursive */
 32849  
 32850  	rc2 = internal_dfa_match(tls,
 32851  		mb,      // fixed match data
 32852  		callpat, // this subexpression's code
 32853  		ptr,     // where we currently are
 32854  		Tsize_t((int64(ptr)-int64(start_subject))/1),
 32855  		local_offsets2, // offset vector
 32856  		uint32(uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))),
 32857  		local_workspace2, // workspace vector
 32858  		DRWS_RSIZE,       // size of same
 32859  		rlevel,           // function recursion level
 32860  		RWS)              // recursion workspace
 32861  
 32862  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(1000)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 32863  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive = (*Tdfa_recursion_info)(unsafe.Pointer(bp + 48 /* &new_recursive */)).Fprevrec // Done this recursion
 32864  
 32865  	// Ran out of internal offsets
 32866  
 32867  	if !(rc2 == 0) {
 32868  		goto __1202
 32869  	}
 32870  	return -39
 32871  __1202:
 32872  	;
 32873  
 32874  	// For each successful matched substring, set up the next state with a
 32875  	//         count of characters to skip before trying it. Note that the count is in
 32876  	//         characters, not bytes.
 32877  
 32878  	if !(rc2 > 0) {
 32879  		goto __1203
 32880  	}
 32881  
 32882  	rc2 = rc2*2 - 2
 32883  __1205:
 32884  	if !(rc2 >= 0) {
 32885  		goto __1207
 32886  	}
 32887  
 32888  	charcount = *(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2+1)*8)) - *(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2)*8))
 32889  	if !(utf != 0) {
 32890  		goto __1208
 32891  	}
 32892  
 32893  	p = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2)*8)))
 32894  	pp = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets2 + uintptr(rc2+1)*8)))
 32895  __1209:
 32896  	if !(p < pp) {
 32897  		goto __1210
 32898  	}
 32899  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))&0xc0 == 0x80) {
 32900  		goto __1211
 32901  	}
 32902  	charcount--
 32903  __1211:
 32904  	;
 32905  	goto __1209
 32906  __1210:
 32907  	;
 32908  __1208:
 32909  	;
 32910  	if !(charcount > uint64(0)) {
 32911  		goto __1212
 32912  	}
 32913  
 32914  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 32915  		goto __1214
 32916  	}
 32917  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -(state_offset + DLINK_SIZE + 1)
 32918  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 32919  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount - uint64(1))
 32920  	next_new_state += 12
 32921  	goto __1215
 32922  __1214:
 32923  	return -43
 32924  __1215:
 32925  	;
 32926  	goto __1213
 32927  __1212:
 32928  
 32929  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 32930  		goto __1216
 32931  	}
 32932  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + DLINK_SIZE + 1
 32933  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 32934  	next_active_state += 12
 32935  	goto __1217
 32936  __1216:
 32937  	return -43
 32938  __1217:
 32939  	;
 32940  __1213:
 32941  	;
 32942  	goto __1206
 32943  __1206:
 32944  	rc2 = rc2 - 2
 32945  	goto __1205
 32946  	goto __1207
 32947  __1207:
 32948  	;
 32949  	goto __1204
 32950  __1203:
 32951  	if !(rc2 != -1) {
 32952  		goto __1218
 32953  	}
 32954  	return rc2
 32955  __1218:
 32956  	;
 32957  __1204:
 32958  	;
 32959  
 32960  	goto __89
 32961  
 32962  	//-----------------------------------------------------------------
 32963  __275:
 32964  __276:
 32965  __277:
 32966  __278:
 32967  __279:
 32968  
 32969  	local_ptr = ptr
 32970  	*(*uintptr)(unsafe.Pointer(bp + 72 /* rws3 */)) = RWS
 32971  
 32972  	if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).Ffree) < uint64(DRWS_RSIZE)+uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) {
 32973  		goto __1219
 32974  	}
 32975  
 32976  	rc3 = more_workspace(tls, bp+72, uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb)
 32977  	if !(rc3 != 0) {
 32978  		goto __1220
 32979  	}
 32980  	return rc3
 32981  __1220:
 32982  	;
 32983  	RWS = *(*uintptr)(unsafe.Pointer(bp + 72 /* rws3 */))
 32984  __1219:
 32985  	;
 32986  
 32987  	local_offsets3 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).Ffree)*4
 32988  	local_workspace3 = local_offsets3 + uintptr(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4
 32989  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 32990  
 32991  	if !(codevalue == OP_BRAPOSZERO) {
 32992  		goto __1221
 32993  	}
 32994  
 32995  	allow_zero = DTRUE
 32996  	codevalue = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&code, 1)))) // Codevalue will be one of above BRAs
 32997  	goto __1222
 32998  __1221:
 32999  	allow_zero = DFALSE
 33000  __1222:
 33001  	;
 33002  
 33003  	// Loop to match the subpattern as many times as possible as if it were
 33004  	//         a complete pattern.
 33005  
 33006  	matched_count = uint64(0)
 33007  __1223:
 33008  	;
 33009  
 33010  	rc3 = internal_dfa_match(tls,
 33011  		mb,        // fixed match data
 33012  		code,      // this subexpression's code
 33013  		local_ptr, // where we currently are
 33014  		Tsize_t((int64(ptr)-int64(start_subject))/1),
 33015  		local_offsets3, // offset vector
 33016  		uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))),
 33017  		local_workspace3, // workspace vector
 33018  		DRWS_RSIZE,       // size of same
 33019  		rlevel,           // function recursion level
 33020  		RWS)              // recursion workspace
 33021  
 33022  	// Failed to match
 33023  
 33024  	if !(rc3 < 0) {
 33025  		goto __1226
 33026  	}
 33027  
 33028  	if !(rc3 != -1) {
 33029  		goto __1227
 33030  	}
 33031  	return rc3
 33032  __1227:
 33033  	;
 33034  	goto __1225
 33035  __1226:
 33036  	;
 33037  
 33038  	// Matched: break the loop if zero characters matched.
 33039  
 33040  	charcount1 = *(*Tsize_t)(unsafe.Pointer(local_offsets3 + 1*8)) - *(*Tsize_t)(unsafe.Pointer(local_offsets3))
 33041  	if !(charcount1 == uint64(0)) {
 33042  		goto __1228
 33043  	}
 33044  	goto __1225
 33045  __1228:
 33046  	;
 33047  	local_ptr += TPCRE2_SPTR8(charcount1) // Advance temporary position ptr
 33048  	goto __1224
 33049  __1224:
 33050  	matched_count++
 33051  	goto __1223
 33052  	goto __1225
 33053  __1225:
 33054  	;
 33055  
 33056  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 33057  
 33058  	// At this point we have matched the subpattern matched_count
 33059  	//         times, and local_ptr is pointing to the character after the end of the
 33060  	//         last match.
 33061  
 33062  	if !(matched_count > uint64(0) || allow_zero != 0) {
 33063  		goto __1229
 33064  	}
 33065  
 33066  	end_subpattern = code
 33067  
 33068  __1230:
 33069  	end_subpattern += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern + 2)))))
 33070  	goto __1231
 33071  __1231:
 33072  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern))) == OP_ALT {
 33073  		goto __1230
 33074  	}
 33075  	goto __1232
 33076  __1232:
 33077  	;
 33078  	next_state_offset1 = int32((int64(end_subpattern)-int64(start_code))/1 + int64(DLINK_SIZE) + int64(1))
 33079  
 33080  	// Optimization: if there are no more active states, and there
 33081  	//           are no new states yet set up, then skip over the subject string
 33082  	//           right here, to save looping. Otherwise, set up the new state to swing
 33083  	//           into action when the end of the matched substring is reached.
 33084  
 33085  	if !(i+1 >= active_count && new_count == 0) {
 33086  		goto __1233
 33087  	}
 33088  
 33089  	ptr = local_ptr
 33090  	clen = 0
 33091  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33092  		goto __1235
 33093  	}
 33094  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset1
 33095  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33096  	next_new_state += 12
 33097  	goto __1236
 33098  __1235:
 33099  	return -43
 33100  __1236:
 33101  	;
 33102  	goto __1234
 33103  __1233:
 33104  
 33105  	p1 = ptr
 33106  	pp1 = local_ptr
 33107  	charcount1 = Tsize_t((int64(pp1) - int64(p1)) / 1)
 33108  	if !(utf != 0) {
 33109  		goto __1237
 33110  	}
 33111  __1238:
 33112  	if !(p1 < pp1) {
 33113  		goto __1239
 33114  	}
 33115  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1))))&0xc0 == 0x80) {
 33116  		goto __1240
 33117  	}
 33118  	charcount1--
 33119  __1240:
 33120  	;
 33121  	goto __1238
 33122  __1239:
 33123  	;
 33124  __1237:
 33125  	;
 33126  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33127  		goto __1241
 33128  	}
 33129  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -next_state_offset1
 33130  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33131  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount1 - uint64(1))
 33132  	next_new_state += 12
 33133  	goto __1242
 33134  __1241:
 33135  	return -43
 33136  __1242:
 33137  	;
 33138  __1234:
 33139  	;
 33140  __1229:
 33141  	;
 33142  
 33143  	goto __89
 33144  
 33145  	//-----------------------------------------------------------------
 33146  __280:
 33147  
 33148  	*(*uintptr)(unsafe.Pointer(bp + 80 /* rws4 */)) = RWS
 33149  
 33150  	if !(uint64((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)))).Ffree) < uint64(DRWS_RSIZE)+uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))) {
 33151  		goto __1243
 33152  	}
 33153  
 33154  	rc4 = more_workspace(tls, bp+80, uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))), mb)
 33155  	if !(rc4 != 0) {
 33156  		goto __1244
 33157  	}
 33158  	return rc4
 33159  __1244:
 33160  	;
 33161  	RWS = *(*uintptr)(unsafe.Pointer(bp + 80 /* rws4 */))
 33162  __1243:
 33163  	;
 33164  
 33165  	local_offsets4 = RWS + uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)))).Fsize)*4 - uintptr((*TRWS_anchor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)))).Ffree)*4
 33166  	local_workspace4 = local_offsets4 + uintptr(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))*4
 33167  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)) + 12)) -= uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 33168  
 33169  	rc4 = internal_dfa_match(tls,
 33170  		mb,   // fixed match data
 33171  		code, // this subexpression's code
 33172  		ptr,  // where we currently are
 33173  		Tsize_t((int64(ptr)-int64(start_subject))/1),
 33174  		local_offsets4, // offset vector
 33175  		uint32(uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))/(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0))))),
 33176  		local_workspace4, // workspace vector
 33177  		DRWS_RSIZE,       // size of same
 33178  		rlevel,           // function recursion level
 33179  		RWS)              // recursion workspace
 33180  
 33181  	*(*Tuint32_t)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)) + 12)) += uint32(uint64(DRWS_RSIZE) + uint64(2)*(uint64(unsafe.Sizeof(Tsize_t(0)))/uint64(unsafe.Sizeof(int32(0)))))
 33182  
 33183  	if !(rc4 >= 0) {
 33184  		goto __1245
 33185  	}
 33186  
 33187  	end_subpattern1 = code
 33188  	charcount2 = *(*Tsize_t)(unsafe.Pointer(local_offsets4 + 1*8)) - *(*Tsize_t)(unsafe.Pointer(local_offsets4))
 33189  
 33190  __1247:
 33191  	end_subpattern1 += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 2)))))
 33192  	goto __1248
 33193  __1248:
 33194  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1))) == OP_ALT {
 33195  		goto __1247
 33196  	}
 33197  	goto __1249
 33198  __1249:
 33199  	;
 33200  	next_state_offset2 = int32((int64(end_subpattern1)-int64(start_code))/1 + int64(DLINK_SIZE) + int64(1))
 33201  
 33202  	// If the end of this subpattern is KETRMAX or KETRMIN, we must
 33203  	//           arrange for the repeat state also to be added to the relevant list.
 33204  	//           Calculate the offset, or set -1 for no repeat.
 33205  
 33206  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1))) == OP_KETRMAX || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1))) == OP_KETRMIN {
 33207  		repeat_state_offset = int32((int64(end_subpattern1)-int64(start_code))/1 - int64(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(end_subpattern1 + 2))))))
 33208  	} else {
 33209  		repeat_state_offset = -1
 33210  	}
 33211  
 33212  	// If we have matched an empty string, add the next state at the
 33213  	//           current character pointer. This is important so that the duplicate
 33214  	//           checking kicks in, which is what breaks infinite loops that match an
 33215  	//           empty string.
 33216  
 33217  	if !(charcount2 == uint64(0)) {
 33218  		goto __1250
 33219  	}
 33220  
 33221  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 33222  		goto __1252
 33223  	}
 33224  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = next_state_offset2
 33225  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 33226  	next_active_state += 12
 33227  	goto __1253
 33228  __1252:
 33229  	return -43
 33230  __1253:
 33231  	;
 33232  	goto __1251
 33233  __1250:
 33234  	if !(i+1 >= active_count && new_count == 0) {
 33235  		goto __1254
 33236  	}
 33237  
 33238  	ptr += TPCRE2_SPTR8(charcount2)
 33239  	clen = 0
 33240  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33241  		goto __1256
 33242  	}
 33243  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = next_state_offset2
 33244  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33245  	next_new_state += 12
 33246  	goto __1257
 33247  __1256:
 33248  	return -43
 33249  __1257:
 33250  	;
 33251  
 33252  	// If we are adding a repeat state at the new character position,
 33253  	//             we must fudge things so that it is the only current state.
 33254  	//             Otherwise, it might be a duplicate of one we processed before, and
 33255  	//             that would cause it to be skipped.
 33256  
 33257  	if !(repeat_state_offset >= 0) {
 33258  		goto __1258
 33259  	}
 33260  
 33261  	next_active_state = active_states
 33262  	active_count = 0
 33263  	i = -1
 33264  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 33265  		goto __1259
 33266  	}
 33267  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = repeat_state_offset
 33268  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 33269  	next_active_state += 12
 33270  	goto __1260
 33271  __1259:
 33272  	return -43
 33273  __1260:
 33274  	;
 33275  __1258:
 33276  	;
 33277  	goto __1255
 33278  __1254:
 33279  
 33280  	if !(utf != 0) {
 33281  		goto __1261
 33282  	}
 33283  
 33284  	p2 = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets4)))
 33285  	pp2 = start_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(local_offsets4 + 1*8)))
 33286  __1262:
 33287  	if !(p2 < pp2) {
 33288  		goto __1263
 33289  	}
 33290  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p2, 1))))&0xc0 == 0x80) {
 33291  		goto __1264
 33292  	}
 33293  	charcount2--
 33294  __1264:
 33295  	;
 33296  	goto __1262
 33297  __1263:
 33298  	;
 33299  __1261:
 33300  	;
 33301  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33302  		goto __1265
 33303  	}
 33304  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -next_state_offset2
 33305  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33306  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount2 - uint64(1))
 33307  	next_new_state += 12
 33308  	goto __1266
 33309  __1265:
 33310  	return -43
 33311  __1266:
 33312  	;
 33313  	if !(repeat_state_offset >= 0) {
 33314  		goto __1267
 33315  	}
 33316  	if !(libc.PostIncInt32(&new_count, 1) < wscount) {
 33317  		goto __1268
 33318  	}
 33319  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Foffset = -repeat_state_offset
 33320  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fcount = 0
 33321  	(*Tstateblock)(unsafe.Pointer(next_new_state)).Fdata = int32(charcount2 - uint64(1))
 33322  	next_new_state += 12
 33323  	goto __1269
 33324  __1268:
 33325  	return -43
 33326  __1269:
 33327  	;
 33328  __1267:
 33329  	;
 33330  __1255:
 33331  	;
 33332  __1251:
 33333  	;
 33334  	goto __1246
 33335  __1245:
 33336  	if !(rc4 != -1) {
 33337  		goto __1270
 33338  	}
 33339  	return rc4
 33340  __1270:
 33341  	;
 33342  __1246:
 33343  	;
 33344  
 33345  	goto __89
 33346  
 33347  	// ==========================================================================
 33348  	// Handle callouts
 33349  
 33350  __281:
 33351  __282:
 33352  
 33353  	rrc = do_callout(tls, code, offsets, current_subject, ptr, mb, uint64(0),
 33354  		bp+88)
 33355  	if !(rrc < 0) {
 33356  		goto __1271
 33357  	}
 33358  	return rrc
 33359  __1271:
 33360  	; // Abandon
 33361  	if !(rrc == 0) {
 33362  		goto __1272
 33363  	}
 33364  	if !(libc.PostIncInt32(&active_count, 1) < wscount) {
 33365  		goto __1273
 33366  	}
 33367  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Foffset = state_offset + int32(*(*Tsize_t)(unsafe.Pointer(bp + 88)))
 33368  	(*Tstateblock)(unsafe.Pointer(next_active_state)).Fcount = 0
 33369  	next_active_state += 12
 33370  	goto __1274
 33371  __1273:
 33372  	return -43
 33373  __1274:
 33374  	;
 33375  __1272:
 33376  	;
 33377  
 33378  	goto __89
 33379  
 33380  	// ==========================================================================
 33381  __283: // Unsupported opcode
 33382  	return -42
 33383  __89:
 33384  	;
 33385  
 33386  NEXT_ACTIVE_STATE:
 33387  	goto __51
 33388  
 33389  	goto __51
 33390  __51:
 33391  	i++
 33392  	goto __50
 33393  	goto __52
 33394  __52:
 33395  	; // End of loop scanning active states
 33396  
 33397  	// We have finished the processing at the current subject character. If no
 33398  	//   new states have been set for the next character, we have found all the
 33399  	//   matches that we are going to find. If partial matching has been requested,
 33400  	//   check for appropriate conditions.
 33401  	//
 33402  	//   The "forced_ fail" variable counts the number of (*F) encountered for the
 33403  	//   character. If it is equal to the original active_count (saved in
 33404  	//   workspace[1]) it means that (*F) was found on every active state. In this
 33405  	//   case we don't want to give a partial match.
 33406  	//
 33407  	//   The "could_continue" variable is true if a state could have continued but
 33408  	//   for the fact that the end of the subject was reached.
 33409  
 33410  	if !(new_count <= 0) {
 33411  		goto __1275
 33412  	}
 33413  
 33414  	if !(could_continue != 0 && forced_fail != *(*int32)(unsafe.Pointer(workspace + 1*4)) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_HARD != Tuint32_t(0) ||
 33415  		(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_PARTIAL_SOFT != Tuint32_t(0) && match_count < 0) && (partial_newline != 0 || ptr >= end_subject && (ptr > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0))) {
 33416  		goto __1276
 33417  	}
 33418  	match_count = -2
 33419  __1276:
 33420  	;
 33421  	goto __37 // Exit from loop along the subject string
 33422  __1275:
 33423  	;
 33424  
 33425  	// One or more states are active for the next character.
 33426  
 33427  	ptr += TPCRE2_SPTR8(clen) // Advance to next subject character
 33428  	goto __36
 33429  __36:
 33430  	goto __35
 33431  	goto __37
 33432  __37:
 33433  	; // Loop to move along the subject string
 33434  
 33435  	// Control gets here from "break" a few lines above. If we have a match and
 33436  	// PCRE2_ENDANCHORED is set, the match fails.
 33437  
 33438  	if !(match_count >= 0 && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions|(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions)&DPCRE2_ENDANCHORED != Tuint32_t(0) && ptr < end_subject) {
 33439  		goto __1277
 33440  	}
 33441  	match_count = -1
 33442  __1277:
 33443  	;
 33444  
 33445  	return match_count
 33446  }
 33447  
 33448  // ************************************************
 33449  //
 33450  //     Match a pattern using the DFA algorithm    *
 33451  //
 33452  
 33453  // This function matches a compiled pattern to a subject string, using the
 33454  // alternate matching algorithm that finds all matches at once.
 33455  //
 33456  // Arguments:
 33457  //   code          points to the compiled pattern
 33458  //   subject       subject string
 33459  //   length        length of subject string
 33460  //   startoffset   where to start matching in the subject
 33461  //   options       option bits
 33462  //   match_data    points to a match data structure
 33463  //   gcontext      points to a match context
 33464  //   workspace     pointer to workspace
 33465  //   wscount       size of workspace
 33466  //
 33467  // Returns:        > 0 => number of match offset pairs placed in offsets
 33468  //                 = 0 => offsets overflowed; longest matches are present
 33469  //                  -1 => failed to match
 33470  //                < -1 => some kind of unexpected problem
 33471  
 33472  func Xpcre2_dfa_match_8(tls *libc.TLS, code uintptr, subject TPCRE2_SPTR8, length Tsize_t, start_offset Tsize_t, options Tuint32_t, match_data uintptr, mcontext uintptr, workspace uintptr, wscount Tsize_t) int32 { /* pcre2_dfa_match.c:3297:1: */
 33473  	bp := tls.Alloc(31000)
 33474  	defer tls.Free(31000)
 33475  
 33476  	var rc int32
 33477  	var was_zero_terminated int32
 33478  	var re uintptr
 33479  	var start_match TPCRE2_SPTR8
 33480  	var end_subject TPCRE2_SPTR8
 33481  	var bumpalong_limit TPCRE2_SPTR8
 33482  	var req_cu_ptr TPCRE2_SPTR8
 33483  	var utf TBOOL
 33484  	var anchored TBOOL
 33485  	var startline TBOOL
 33486  	var firstline TBOOL
 33487  	var has_first_cu TBOOL
 33488  	var has_req_cu TBOOL
 33489  	var memchr_found_first_cu TPCRE2_SPTR8
 33490  	var memchr_found_first_cu2 TPCRE2_SPTR8
 33491  	var first_cu TPCRE2_UCHAR8
 33492  	var first_cu2 TPCRE2_UCHAR8
 33493  	var req_cu TPCRE2_UCHAR8
 33494  	var req_cu2 TPCRE2_UCHAR8
 33495  	var start_bits uintptr
 33496  
 33497  	// We need to have mb pointing to a match block, because the IS_NEWLINE macro
 33498  	// is used below, and it expects NLBLOCK to be defined as a pointer.
 33499  
 33500  	// var cb Tpcre2_callout_block_8 at bp+30888, 112
 33501  
 33502  	// var actual_match_block Tdfa_match_block_8 at bp, 168
 33503  
 33504  	var mb uintptr
 33505  
 33506  	// Set up a starting block of memory for use during recursive calls to
 33507  	// internal_dfa_match(). By putting this on the stack, it minimizes resource use
 33508  	// in the case when it is not needed. If this is too small, more memory is
 33509  	// obtained from the heap. At the start of each block is an anchor structure.
 33510  
 33511  	// var base_recursion_workspace [7680]int32 at bp+168, 30720
 33512  
 33513  	var rws uintptr
 33514  	var i uint32
 33515  	var check_subject TPCRE2_SPTR8
 33516  	var t TPCRE2_SPTR8
 33517  	var c TPCRE2_UCHAR8
 33518  	var ok TBOOL
 33519  	// In 16-bit and 32_bit modes we have to do our own search, so can
 33520  	//           look for both cases at once.
 33521  
 33522  	// In 8-bit mode, the use of memchr() gives a big speed up, even
 33523  	//           though we have to call it twice in order to find the earliest
 33524  	//           occurrence of the code unit in either of its cases. Caching is used
 33525  	//           to remember the positions of previously found code units. This can
 33526  	//           make a huge difference when the strings are very long and only one
 33527  	//           case is actually present.
 33528  
 33529  	var pp1 TPCRE2_SPTR8
 33530  	var pp2 TPCRE2_SPTR8
 33531  	var searchlength Tsize_t
 33532  	var c1 Tuint32_t
 33533  	var pp TPCRE2_SPTR8
 33534  	var check_length Tsize_t
 33535  	var p TPCRE2_SPTR8
 33536  	var next uintptr
 33537  	was_zero_terminated = 0
 33538  	re = code
 33539  	has_first_cu = DFALSE
 33540  	has_req_cu = DFALSE
 33541  	memchr_found_first_cu = uintptr(0)
 33542  	memchr_found_first_cu2 = uintptr(0)
 33543  	first_cu = TPCRE2_UCHAR8(0)
 33544  	first_cu2 = TPCRE2_UCHAR8(0)
 33545  	req_cu = TPCRE2_UCHAR8(0)
 33546  	req_cu2 = TPCRE2_UCHAR8(0)
 33547  	start_bits = uintptr(0)
 33548  	mb = bp        /* &actual_match_block */
 33549  	rws = bp + 168 /* base_recursion_workspace */
 33550  	(*TRWS_anchor)(unsafe.Pointer(rws)).Fnext = uintptr(0)
 33551  	(*TRWS_anchor)(unsafe.Pointer(rws)).Fsize = uint32(uint64(DDFA_START_RWS_SIZE) / uint64(unsafe.Sizeof(int32(0))))
 33552  	(*TRWS_anchor)(unsafe.Pointer(rws)).Ffree = uint32(uint64(DDFA_START_RWS_SIZE)/uint64(unsafe.Sizeof(int32(0))) - uint64(unsafe.Sizeof(TRWS_anchor{}))/uint64(unsafe.Sizeof(int32(0))))
 33553  
 33554  	// Recognize NULL, length 0 as an empty string.
 33555  
 33556  	if !(subject == uintptr(0) && length == uint64(0)) {
 33557  		goto __1
 33558  	}
 33559  	subject = ts + 797 /* "" */
 33560  __1:
 33561  	;
 33562  
 33563  	// Plausibility checks
 33564  
 33565  	if !(options&libc.CplUint32(DPCRE2_ANCHORED|DPCRE2_ENDANCHORED|DPCRE2_NOTBOL|DPCRE2_NOTEOL|DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART|DPCRE2_NO_UTF_CHECK|DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT|DPCRE2_DFA_SHORTEST|DPCRE2_DFA_RESTART|DPCRE2_COPY_MATCHED_SUBJECT) != Tuint32_t(0)) {
 33566  		goto __2
 33567  	}
 33568  	return -34
 33569  __2:
 33570  	;
 33571  	if !(re == uintptr(0) || subject == uintptr(0) || workspace == uintptr(0) || match_data == uintptr(0)) {
 33572  		goto __3
 33573  	}
 33574  	return -51
 33575  __3:
 33576  	;
 33577  
 33578  	if !(length == libc.CplUint64(uint64(0))) {
 33579  		goto __4
 33580  	}
 33581  
 33582  	length = X_pcre2_strlen_8(tls, subject)
 33583  	was_zero_terminated = 1
 33584  __4:
 33585  	;
 33586  
 33587  	if !(wscount < uint64(20)) {
 33588  		goto __5
 33589  	}
 33590  	return -43
 33591  __5:
 33592  	;
 33593  	if !(start_offset > length) {
 33594  		goto __6
 33595  	}
 33596  	return -33
 33597  __6:
 33598  	;
 33599  
 33600  	// Partial matching and PCRE2_ENDANCHORED are currently not allowed at the same
 33601  	// time.
 33602  
 33603  	if !(options&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) != Tuint32_t(0) && ((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options|options)&DPCRE2_ENDANCHORED != Tuint32_t(0)) {
 33604  		goto __7
 33605  	}
 33606  	return -34
 33607  __7:
 33608  	;
 33609  
 33610  	// Invalid UTF support is not available for DFA matching.
 33611  
 33612  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_INVALID_UTF != Tuint32_t(0)) {
 33613  		goto __8
 33614  	}
 33615  	return -66
 33616  __8:
 33617  	;
 33618  
 33619  	// Check that the first field in the block is the magic number. If it is not,
 33620  	// return with PCRE2_ERROR_BADMAGIC.
 33621  
 33622  	if !(uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER) {
 33623  		goto __9
 33624  	}
 33625  	return -31
 33626  __9:
 33627  	;
 33628  
 33629  	// Check the code unit width.
 33630  
 33631  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MODE8|DPCRE2_MODE16|DPCRE2_MODE32) != Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)) {
 33632  		goto __10
 33633  	}
 33634  	return -32
 33635  __10:
 33636  	;
 33637  
 33638  	// PCRE2_NOTEMPTY and PCRE2_NOTEMPTY_ATSTART are match-time flags in the
 33639  	// options variable for this function. Users of PCRE2 who are not calling the
 33640  	// function directly would like to have a way of setting these flags, in the same
 33641  	// way that they can set pcre2_compile() flags like PCRE2_NO_AUTOPOSSESS with
 33642  	// constructions like (*NO_AUTOPOSSESS). To enable this, (*NOTEMPTY) and
 33643  	// (*NOTEMPTY_ATSTART) set bits in the pattern's "flag" function which can now be
 33644  	// transferred to the options for this function. The bits are guaranteed to be
 33645  	// adjacent, but do not have the same values. This bit of Boolean trickery assumes
 33646  	// that the match-time bits are not more significant than the flag bits. If by
 33647  	// accident this is not the case, a compile-time division by zero error will
 33648  	// occur.
 33649  
 33650  	options = options | (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)/(uint32((DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)&(libc.CplInt32(DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)+1))/((DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART)&(libc.CplUint32(DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART)+uint32(1))))
 33651  
 33652  	// If restarting after a partial match, do some sanity checks on the contents
 33653  	// of the workspace.
 33654  
 33655  	if !(options&DPCRE2_DFA_RESTART != Tuint32_t(0)) {
 33656  		goto __11
 33657  	}
 33658  
 33659  	if !(*(*int32)(unsafe.Pointer(workspace))&-2 != 0 || *(*int32)(unsafe.Pointer(workspace + 1*4)) < 1 || *(*int32)(unsafe.Pointer(workspace + 1*4)) > int32((wscount-uint64(2))/Tsize_t(int32(uint64(unsafe.Sizeof(Tstateblock{}))/uint64(unsafe.Sizeof(int32(0))))))) {
 33660  		goto __12
 33661  	}
 33662  	return -38
 33663  __12:
 33664  	;
 33665  __11:
 33666  	;
 33667  
 33668  	// Set some local values
 33669  
 33670  	utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 33671  	start_match = subject + uintptr(start_offset)
 33672  	end_subject = subject + uintptr(length)
 33673  	req_cu_ptr = start_match - uintptr(1)
 33674  	anchored = libc.Bool32(options&(DPCRE2_ANCHORED|DPCRE2_DFA_RESTART) != Tuint32_t(0) || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_ANCHORED != Tuint32_t(0))
 33675  
 33676  	// The "must be at the start of a line" flags are used in a loop when finding
 33677  	// where to start.
 33678  
 33679  	startline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_STARTLINE) != Tuint32_t(0))
 33680  	firstline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_FIRSTLINE != Tuint32_t(0))
 33681  	bumpalong_limit = end_subject
 33682  
 33683  	// Initialize and set up the fixed fields in the callout block, with a pointer
 33684  	// in the match block.
 33685  
 33686  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcb = bp + 30888 /* &cb */
 33687  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fversion = Tuint32_t(2)
 33688  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fsubject = subject
 33689  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fsubject_length = Tsize_t((int64(end_subject) - int64(subject)) / 1)
 33690  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fcallout_flags = Tuint32_t(0)
 33691  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fcapture_top = Tuint32_t(1) // No capture support
 33692  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fcapture_last = Tuint32_t(0)
 33693  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 30888 /* &cb */)).Fmark = uintptr(0) // No (*MARK) support
 33694  
 33695  	// Get data from the match context, if present, and fill in the remaining
 33696  	// fields in the match block. It is an error to set an offset limit without
 33697  	// setting the flag at compile time.
 33698  
 33699  	if !(mcontext == uintptr(0)) {
 33700  		goto __13
 33701  	}
 33702  
 33703  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout = uintptr(0)
 33704  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmemctl
 33705  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit = X_pcre2_default_match_context_8.Fmatch_limit
 33706  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = X_pcre2_default_match_context_8.Fdepth_limit
 33707  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit = Tsize_t(X_pcre2_default_match_context_8.Fheap_limit)
 33708  	goto __14
 33709  __13:
 33710  
 33711  	if !((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit != libc.CplUint64(uint64(0))) {
 33712  		goto __15
 33713  	}
 33714  
 33715  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_USE_OFFSET_LIMIT == Tuint32_t(0)) {
 33716  		goto __16
 33717  	}
 33718  	return -56
 33719  __16:
 33720  	;
 33721  	bumpalong_limit = subject + uintptr((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit)
 33722  __15:
 33723  	;
 33724  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout
 33725  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fcallout_data = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout_data
 33726  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl
 33727  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit
 33728  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit
 33729  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit = Tsize_t((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit)
 33730  __14:
 33731  	;
 33732  
 33733  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit > (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match) {
 33734  		goto __17
 33735  	}
 33736  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match
 33737  __17:
 33738  	;
 33739  
 33740  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth > (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth) {
 33741  		goto __18
 33742  	}
 33743  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth
 33744  __18:
 33745  	;
 33746  
 33747  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit > Tsize_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap)) {
 33748  		goto __19
 33749  	}
 33750  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_limit = Tsize_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap)
 33751  __19:
 33752  	;
 33753  
 33754  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) + uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size))
 33755  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables
 33756  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject = subject
 33757  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject = end_subject
 33758  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_offset = start_offset
 33759  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fallowemptypartial = libc.Bool32(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind) > 0 || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MATCH_EMPTY) != Tuint32_t(0))
 33760  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions = options
 33761  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fpoptions = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options
 33762  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmatch_call_count = Tuint32_t(0)
 33763  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fheap_used = uint64(0)
 33764  
 33765  	// Process the \R and newline settings.
 33766  
 33767  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fbsr_convention = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention
 33768  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_FIXED)
 33769  	switch int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention) {
 33770  	case DPCRE2_NEWLINE_CR:
 33771  		goto __21
 33772  
 33773  	case DPCRE2_NEWLINE_LF:
 33774  		goto __22
 33775  
 33776  	case DPCRE2_NEWLINE_NUL:
 33777  		goto __23
 33778  
 33779  	case DPCRE2_NEWLINE_CRLF:
 33780  		goto __24
 33781  
 33782  	case DPCRE2_NEWLINE_ANY:
 33783  		goto __25
 33784  
 33785  	case DPCRE2_NEWLINE_ANYCRLF:
 33786  		goto __26
 33787  
 33788  	default:
 33789  		goto __27
 33790  	}
 33791  	goto __20
 33792  
 33793  __21:
 33794  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 33795  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)) = TPCRE2_UCHAR8('\015')
 33796  	goto __20
 33797  
 33798  __22:
 33799  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 33800  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)) = TPCRE2_UCHAR8('\012')
 33801  	goto __20
 33802  
 33803  __23:
 33804  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 33805  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)) = TPCRE2_UCHAR8(0)
 33806  	goto __20
 33807  
 33808  __24:
 33809  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(2)
 33810  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128)) = TPCRE2_UCHAR8('\015')
 33811  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)) = TPCRE2_UCHAR8('\012')
 33812  	goto __20
 33813  
 33814  __25:
 33815  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANY)
 33816  	goto __20
 33817  
 33818  __26:
 33819  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANYCRLF)
 33820  	goto __20
 33821  
 33822  __27:
 33823  	return -44
 33824  __20:
 33825  	;
 33826  
 33827  	// Check a UTF string for validity if required. For 8-bit and 16-bit strings,
 33828  	// we must also check that a starting offset does not point into the middle of a
 33829  	// multiunit character. We check only the portion of the subject that is going to
 33830  	// be inspected during matching - from the offset minus the maximum back reference
 33831  	// to the given length. This saves time when a small part of a large subject is
 33832  	// being matched by the use of a starting offset. Note that the maximum lookbehind
 33833  	// is a number of characters, not code units.
 33834  
 33835  	if !(utf != 0 && options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0)) {
 33836  		goto __28
 33837  	}
 33838  
 33839  	check_subject = start_match // start_match includes offset
 33840  
 33841  	if !(start_offset > uint64(0)) {
 33842  		goto __29
 33843  	}
 33844  
 33845  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 33846  		goto __30
 33847  	}
 33848  	return -36
 33849  __30:
 33850  	;
 33851  	i = uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind)
 33852  __31:
 33853  	if !(i > uint32(0) && check_subject > subject) {
 33854  		goto __33
 33855  	}
 33856  
 33857  	check_subject--
 33858  __34:
 33859  	if !(check_subject > subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(check_subject)))&0xc0 == 0x80) {
 33860  		goto __35
 33861  	}
 33862  	check_subject--
 33863  	goto __34
 33864  __35:
 33865  	;
 33866  	goto __32
 33867  __32:
 33868  	i--
 33869  	goto __31
 33870  	goto __33
 33871  __33:
 33872  	;
 33873  __29:
 33874  	;
 33875  
 33876  	// Validate the relevant portion of the subject. After an error, adjust the
 33877  	//   offset to be an absolute offset in the whole string.
 33878  
 33879  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = X_pcre2_valid_utf_8(tls, check_subject,
 33880  		length-Tsize_t((int64(check_subject)-int64(subject))/1), match_data+64)
 33881  	if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc != 0) {
 33882  		goto __36
 33883  	}
 33884  
 33885  	*(*Tsize_t)(unsafe.Pointer(match_data + 64)) += Tsize_t((int64(check_subject) - int64(subject)) / 1)
 33886  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 33887  __36:
 33888  	;
 33889  __28:
 33890  	;
 33891  
 33892  	// Set up the first code unit to match, if available. If there's no first code
 33893  	// unit there may be a bitmap of possible first characters.
 33894  
 33895  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0)) {
 33896  		goto __37
 33897  	}
 33898  
 33899  	has_first_cu = DTRUE
 33900  	first_cu = libc.AssignUint8(&first_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit))
 33901  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTCASELESS) != Tuint32_t(0)) {
 33902  		goto __39
 33903  	}
 33904  
 33905  	first_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dfcc_offset) + uintptr(first_cu)))
 33906  	if !(int32(first_cu) > 127 && !(utf != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0)) {
 33907  		goto __40
 33908  	}
 33909  	first_cu2 = TPCRE2_UCHAR8(Tuint32_t(int32(first_cu) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(first_cu)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(first_cu)%DUCD_BLOCK_SIZE])*12)).Fother_case))
 33910  __40:
 33911  	;
 33912  __39:
 33913  	;
 33914  	goto __38
 33915  __37:
 33916  	if !(!(startline != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0)) {
 33917  		goto __41
 33918  	}
 33919  	start_bits = re + 40 /* &.start_bitmap */
 33920  __41:
 33921  	;
 33922  __38:
 33923  	;
 33924  
 33925  	// There may be a "last known required code unit" set.
 33926  
 33927  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0)) {
 33928  		goto __42
 33929  	}
 33930  
 33931  	has_req_cu = DTRUE
 33932  	req_cu = libc.AssignUint8(&req_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit))
 33933  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTCASELESS) != Tuint32_t(0)) {
 33934  		goto __43
 33935  	}
 33936  
 33937  	req_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Ftables + uintptr(Dfcc_offset) + uintptr(req_cu)))
 33938  	if !(int32(req_cu) > 127 && !(utf != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0)) {
 33939  		goto __44
 33940  	}
 33941  	req_cu2 = TPCRE2_UCHAR8(Tuint32_t(int32(req_cu) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(req_cu)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(req_cu)%DUCD_BLOCK_SIZE])*12)).Fother_case))
 33942  __44:
 33943  	;
 33944  __43:
 33945  	;
 33946  __42:
 33947  	;
 33948  
 33949  	// If the match data block was previously used with PCRE2_COPY_MATCHED_SUBJECT,
 33950  	// free the memory that was obtained.
 33951  
 33952  	if !(uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fflags)&DPCRE2_MD_COPIED_SUBJECT != uint32(0)) {
 33953  		goto __45
 33954  	}
 33955  
 33956  	(*struct {
 33957  		f func(*libc.TLS, uintptr, uintptr)
 33958  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Ffree})).f(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject,
 33959  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 33960  	*(*Tuint8_t)(unsafe.Pointer(match_data + 73)) &= libc.Uint8FromUint32(libc.CplUint32(DPCRE2_MD_COPIED_SUBJECT))
 33961  __45:
 33962  	;
 33963  
 33964  	// Fill in fields that are always returned in the match data.
 33965  
 33966  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode = re
 33967  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = uintptr(0) // Default for no match
 33968  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark = uintptr(0)
 33969  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby = PCRE2_MATCHEDBY_DFA_INTERPRETER
 33970  
 33971  	// Call the main matching function, looping for a non-anchored regex after a
 33972  	// failed match. If not restarting, perform certain optimizations at the start of
 33973  	// a match.
 33974  
 33975  __46:
 33976  
 33977  	// ----------------- Start of match optimizations ----------------
 33978  
 33979  	// There are some optimizations that avoid running the match if a known
 33980  	//   starting point is not found, or if a known later code unit is not present.
 33981  	//   However, there is an option (settable at compile time) that disables
 33982  	//   these, for testing and for ensuring that all callouts do actually occur.
 33983  	//   The optimizations must also be avoided when restarting a DFA match.
 33984  
 33985  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_START_OPTIMIZE == Tuint32_t(0) && options&DPCRE2_DFA_RESTART == Tuint32_t(0)) {
 33986  		goto __49
 33987  	}
 33988  
 33989  	// If firstline is TRUE, the start of the match is constrained to the first
 33990  	//     line of a multiline string. That is, the match must be before or at the
 33991  	//     first newline following the start of matching. Temporarily adjust
 33992  	//     end_subject so that we stop the optimization scans for a first code unit
 33993  	//     immediately after the first character of a newline (the first code unit can
 33994  	//     legitimately be a newline). If the match fails at the newline, later code
 33995  	//     breaks this loop.
 33996  
 33997  	if !(firstline != 0) {
 33998  		goto __50
 33999  	}
 34000  
 34001  	t = start_match
 34002  	if !(utf != 0) {
 34003  		goto __51
 34004  	}
 34005  
 34006  __53:
 34007  	if !(t < end_subject && !(func() int32 {
 34008  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 34009  			return libc.Bool32(t < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, t, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 34010  		}
 34011  		return libc.Bool32(t <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 34012  	}() != 0)) {
 34013  		goto __54
 34014  	}
 34015  
 34016  	t++
 34017  __55:
 34018  	if !(t < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t)))&0xc0 == 0x80) {
 34019  		goto __56
 34020  	}
 34021  	t++
 34022  	goto __55
 34023  __56:
 34024  	;
 34025  	goto __53
 34026  __54:
 34027  	;
 34028  	goto __52
 34029  __51:
 34030  __57:
 34031  	if !(t < end_subject && !(func() int32 {
 34032  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 34033  			return libc.Bool32(t < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, t, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 34034  		}
 34035  		return libc.Bool32(t <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 34036  	}() != 0)) {
 34037  		goto __58
 34038  	}
 34039  	t++
 34040  	goto __57
 34041  __58:
 34042  	;
 34043  __52:
 34044  	;
 34045  	end_subject = t
 34046  __50:
 34047  	;
 34048  
 34049  	// Anchored: check the first code unit if one is recorded. This may seem
 34050  	//     pointless but it can help in detecting a no match case without scanning for
 34051  	//     the required code unit.
 34052  
 34053  	if !(anchored != 0) {
 34054  		goto __59
 34055  	}
 34056  
 34057  	if !(has_first_cu != 0 || start_bits != uintptr(0)) {
 34058  		goto __61
 34059  	}
 34060  
 34061  	ok = libc.Bool32(start_match < end_subject)
 34062  	if !(ok != 0) {
 34063  		goto __62
 34064  	}
 34065  
 34066  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))
 34067  	ok = libc.Bool32(has_first_cu != 0 && (int32(c) == int32(first_cu) || int32(c) == int32(first_cu2)))
 34068  	if !(!(ok != 0) && start_bits != uintptr(0)) {
 34069  		goto __63
 34070  	}
 34071  
 34072  	ok = libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(int32(c)/8))))&(uint32(1)<<(int32(c)&7)) != uint32(0))
 34073  __63:
 34074  	;
 34075  __62:
 34076  	;
 34077  	if !!(ok != 0) {
 34078  		goto __64
 34079  	}
 34080  	goto __48
 34081  __64:
 34082  	;
 34083  __61:
 34084  	;
 34085  	goto __60
 34086  __59:
 34087  
 34088  	if !(has_first_cu != 0) {
 34089  		goto __65
 34090  	}
 34091  
 34092  	if !(int32(first_cu) != int32(first_cu2)) {
 34093  		goto __67
 34094  	} /* Caseless */
 34095  
 34096  	// In 16-bit and 32_bit modes we have to do our own search, so can
 34097  	//           look for both cases at once.
 34098  
 34099  	// In 8-bit mode, the use of memchr() gives a big speed up, even
 34100  	//           though we have to call it twice in order to find the earliest
 34101  	//           occurrence of the code unit in either of its cases. Caching is used
 34102  	//           to remember the positions of previously found code units. This can
 34103  	//           make a huge difference when the strings are very long and only one
 34104  	//           case is actually present.
 34105  
 34106  	pp1 = uintptr(0)
 34107  	pp2 = uintptr(0)
 34108  	searchlength = Tsize_t((int64(end_subject) - int64(start_match)) / 1)
 34109  
 34110  	// If we haven't got a previously found position for first_cu, or if
 34111  	//           the current starting position is later, we need to do a search. If
 34112  	//           the code unit is not found, set it to the end.
 34113  
 34114  	if !(memchr_found_first_cu == uintptr(0) || start_match > memchr_found_first_cu) {
 34115  		goto __69
 34116  	}
 34117  
 34118  	pp1 = libc.Xmemchr(tls, start_match, int32(first_cu), searchlength)
 34119  	if pp1 == uintptr(0) {
 34120  		memchr_found_first_cu = end_subject
 34121  	} else {
 34122  		memchr_found_first_cu = pp1
 34123  	}
 34124  	goto __70
 34125  __69:
 34126  	if memchr_found_first_cu == end_subject {
 34127  		pp1 = uintptr(0)
 34128  	} else {
 34129  		pp1 = memchr_found_first_cu
 34130  	}
 34131  __70:
 34132  	;
 34133  
 34134  	// Do the same thing for the other case.
 34135  
 34136  	if !(memchr_found_first_cu2 == uintptr(0) || start_match > memchr_found_first_cu2) {
 34137  		goto __71
 34138  	}
 34139  
 34140  	pp2 = libc.Xmemchr(tls, start_match, int32(first_cu2), searchlength)
 34141  	if pp2 == uintptr(0) {
 34142  		memchr_found_first_cu2 = end_subject
 34143  	} else {
 34144  		memchr_found_first_cu2 = pp2
 34145  	}
 34146  	goto __72
 34147  __71:
 34148  	if memchr_found_first_cu2 == end_subject {
 34149  		pp2 = uintptr(0)
 34150  	} else {
 34151  		pp2 = memchr_found_first_cu2
 34152  	}
 34153  __72:
 34154  	;
 34155  
 34156  	// Set the start to the end of the subject if neither case was found.
 34157  	//           Otherwise, use the earlier found point.
 34158  
 34159  	if !(pp1 == uintptr(0)) {
 34160  		goto __73
 34161  	}
 34162  	if pp2 == uintptr(0) {
 34163  		start_match = end_subject
 34164  	} else {
 34165  		start_match = pp2
 34166  	}
 34167  	goto __74
 34168  __73:
 34169  	if pp2 == uintptr(0) || pp1 < pp2 {
 34170  		start_match = pp1
 34171  	} else {
 34172  		start_match = pp2
 34173  	}
 34174  __74:
 34175  	;
 34176  
 34177  	goto __68
 34178  __67:
 34179  
 34180  	start_match = libc.Xmemchr(tls, start_match, int32(first_cu), uint64((int64(end_subject)-int64(start_match))/1))
 34181  	if !(start_match == uintptr(0)) {
 34182  		goto __75
 34183  	}
 34184  	start_match = end_subject
 34185  __75:
 34186  	;
 34187  __68:
 34188  	;
 34189  
 34190  	// If we can't find the required code unit, having reached the true end
 34191  	//         of the subject, break the bumpalong loop, to force a match failure,
 34192  	//         except when doing partial matching, when we let the next cycle run at
 34193  	//         the end of the subject. To see why, consider the pattern /(?<=abc)def/,
 34194  	//         which partially matches "abc", even though the string does not contain
 34195  	//         the starting character "d". If we have not reached the true end of the
 34196  	//         subject (PCRE2_FIRSTLINE caused end_subject to be temporarily modified)
 34197  	//         we also let the cycle run, because the matching string is legitimately
 34198  	//         allowed to start with the first code unit of a newline.
 34199  
 34200  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) == Tuint32_t(0) && start_match >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 34201  		goto __76
 34202  	}
 34203  	goto __48
 34204  __76:
 34205  	;
 34206  	goto __66
 34207  __65:
 34208  	if !(startline != 0) {
 34209  		goto __77
 34210  	}
 34211  
 34212  	if !(start_match > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr(start_offset)) {
 34213  		goto __79
 34214  	}
 34215  
 34216  	if !(utf != 0) {
 34217  		goto __80
 34218  	}
 34219  
 34220  __82:
 34221  	if !(start_match < end_subject && !(func() int32 {
 34222  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 34223  			return libc.Bool32(start_match > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, start_match, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+120, utf) != 0)
 34224  		}
 34225  		return libc.Bool32(start_match >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 34226  	}() != 0)) {
 34227  		goto __83
 34228  	}
 34229  
 34230  	start_match++
 34231  __84:
 34232  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 34233  		goto __85
 34234  	}
 34235  	start_match++
 34236  	goto __84
 34237  __85:
 34238  	;
 34239  	goto __82
 34240  __83:
 34241  	;
 34242  	goto __81
 34243  __80:
 34244  __86:
 34245  	if !(start_match < end_subject && !(func() int32 {
 34246  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 34247  			return libc.Bool32(start_match > (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, start_match, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+120, utf) != 0)
 34248  		}
 34249  		return libc.Bool32(start_match >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 34250  	}() != 0)) {
 34251  		goto __87
 34252  	}
 34253  	start_match++
 34254  	goto __86
 34255  __87:
 34256  	;
 34257  __81:
 34258  	;
 34259  
 34260  	// If we have just passed a CR and the newline option is ANY or
 34261  	//           ANYCRLF, and we are now at a LF, advance the match position by one
 34262  	//           more code unit.
 34263  
 34264  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + libc.UintptrFromInt32(-1)))) == '\015' && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANY) || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANYCRLF)) && start_match < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == '\012') {
 34265  		goto __88
 34266  	}
 34267  	start_match++
 34268  __88:
 34269  	;
 34270  __79:
 34271  	;
 34272  	goto __78
 34273  __77:
 34274  	if !(start_bits != uintptr(0)) {
 34275  		goto __89
 34276  	}
 34277  
 34278  __90:
 34279  	if !(start_match < end_subject) {
 34280  		goto __91
 34281  	}
 34282  
 34283  	c1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))
 34284  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(c1/Tuint32_t(8)))))&(uint32(1)<<(c1&Tuint32_t(7))) != uint32(0)) {
 34285  		goto __92
 34286  	}
 34287  	goto __91
 34288  __92:
 34289  	;
 34290  	start_match++
 34291  	goto __90
 34292  __91:
 34293  	;
 34294  
 34295  	// See comment above in first_cu checking about the next line.
 34296  
 34297  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) == Tuint32_t(0) && start_match >= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 34298  		goto __93
 34299  	}
 34300  	goto __48
 34301  __93:
 34302  	;
 34303  __89:
 34304  	;
 34305  __78:
 34306  	;
 34307  __66:
 34308  	;
 34309  __60:
 34310  	; // End of first code unit handling
 34311  
 34312  	// Restore fudged end_subject
 34313  
 34314  	end_subject = (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject
 34315  
 34316  	// The following two optimizations are disabled for partial matching.
 34317  
 34318  	if !((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmoptions&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) == Tuint32_t(0)) {
 34319  		goto __94
 34320  	}
 34321  
 34322  	// The minimum matching length is a lower bound; no actual string of that
 34323  	//       length may actually match the pattern. Although the value is, strictly,
 34324  	//       in characters, we treat it as code units to avoid spending too much time
 34325  	//       in this optimization.
 34326  
 34327  	if !((int64(end_subject)-int64(start_match))/1 < int64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength)) {
 34328  		goto __95
 34329  	}
 34330  	goto NOMATCH_EXIT
 34331  __95:
 34332  	;
 34333  
 34334  	// If req_cu is set, we know that that code unit must appear in the
 34335  	//       subject for the match to succeed. If the first code unit is set, req_cu
 34336  	//       must be later in the subject; otherwise the test starts at the match
 34337  	//       point. This optimization can save a huge amount of backtracking in
 34338  	//       patterns with nested unlimited repeats that aren't going to match.
 34339  	//       Writing separate code for cased/caseless versions makes it go faster, as
 34340  	//       does using an autoincrement and backing off on a match. As in the case of
 34341  	//       the first code unit, using memchr() in the 8-bit library gives a big
 34342  	//       speed up. Unlike the first_cu check above, we do not need to call
 34343  	//       memchr() twice in the caseless case because we only need to check for the
 34344  	//       presence of the character in either case, not find the first occurrence.
 34345  	//
 34346  	//       The search can be skipped if the code unit was found later than the
 34347  	//       current starting point in a previous iteration of the bumpalong loop.
 34348  	//
 34349  	//       HOWEVER: when the subject string is very, very long, searching to its end
 34350  	//       can take a long time, and give bad performance on quite ordinary
 34351  	//       patterns. This showed up when somebody was matching something like
 34352  	//       /^\d+C/ on a 32-megabyte string... so we don't do this when the string is
 34353  	//       sufficiently long, but it's worth searching a lot more for unanchored
 34354  	//       patterns.
 34355  
 34356  	p = start_match + uintptr(func() int32 {
 34357  		if has_first_cu != 0 {
 34358  			return 1
 34359  		}
 34360  		return 0
 34361  	}())
 34362  	if !(has_req_cu != 0 && p > req_cu_ptr) {
 34363  		goto __96
 34364  	}
 34365  
 34366  	check_length = Tsize_t((int64(end_subject) - int64(start_match)) / 1)
 34367  
 34368  	if !(check_length < uint64(DREQ_CU_MAX) || !(anchored != 0) && check_length < uint64(DREQ_CU_MAX*1000)) {
 34369  		goto __97
 34370  	}
 34371  
 34372  	if !(int32(req_cu) != int32(req_cu2)) {
 34373  		goto __98
 34374  	} /* Caseless */
 34375  
 34376  	pp = p
 34377  	p = libc.Xmemchr(tls, pp, int32(req_cu), uint64((int64(end_subject)-int64(pp))/1))
 34378  	if !(p == uintptr(0)) {
 34379  		goto __100
 34380  	}
 34381  
 34382  	p = libc.Xmemchr(tls, pp, int32(req_cu2), uint64((int64(end_subject)-int64(pp))/1))
 34383  	if !(p == uintptr(0)) {
 34384  		goto __101
 34385  	}
 34386  	p = end_subject
 34387  __101:
 34388  	;
 34389  __100:
 34390  	;
 34391  	goto __99
 34392  __98:
 34393  
 34394  	p = libc.Xmemchr(tls, p, int32(req_cu), uint64((int64(end_subject)-int64(p))/1))
 34395  	if !(p == uintptr(0)) {
 34396  		goto __102
 34397  	}
 34398  	p = end_subject
 34399  __102:
 34400  	;
 34401  __99:
 34402  	;
 34403  
 34404  	// If we can't find the required code unit, break the matching loop,
 34405  	//           forcing a match failure.
 34406  
 34407  	if !(p >= end_subject) {
 34408  		goto __103
 34409  	}
 34410  	goto __48
 34411  __103:
 34412  	;
 34413  
 34414  	// If we have found the required code unit, save the point where we
 34415  	//           found it, so that we don't search again next time round the loop if
 34416  	//           the start hasn't passed this code unit yet.
 34417  
 34418  	req_cu_ptr = p
 34419  __97:
 34420  	;
 34421  __96:
 34422  	;
 34423  __94:
 34424  	;
 34425  __49:
 34426  	;
 34427  
 34428  	// ------------ End of start of match optimizations ------------
 34429  
 34430  	// Give no match if we have passed the bumpalong limit.
 34431  
 34432  	if !(start_match > bumpalong_limit) {
 34433  		goto __104
 34434  	}
 34435  	goto __48
 34436  __104:
 34437  	;
 34438  
 34439  	// OK, now we can do the business
 34440  
 34441  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = start_match
 34442  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = start_match
 34443  	(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Frecursive = uintptr(0)
 34444  
 34445  	rc = internal_dfa_match(tls,
 34446  		mb, // fixed match data
 34447  		(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_code, // this subexpression's code
 34448  		start_match,  // where we currently are
 34449  		start_offset, // start offset in subject
 34450  		match_data+80,
 34451  		Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount)*Tuint32_t(2),
 34452  		workspace,      // workspace vector
 34453  		int32(wscount), // size of same
 34454  		uint32(0),      // function recurse level
 34455  		bp+168)         // initial workspace for recursion
 34456  
 34457  	// Anything other than "no match" means we are done, always; otherwise, carry
 34458  	//   on only if not anchored.
 34459  
 34460  	if !(rc != -1 || anchored != 0) {
 34461  		goto __105
 34462  	}
 34463  
 34464  	if !(rc == -2 && int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) > 0) {
 34465  		goto __106
 34466  	}
 34467  
 34468  	*(*Tsize_t)(unsafe.Pointer(match_data + 80)) = Tsize_t((int64(start_match) - int64(subject)) / 1)
 34469  	*(*Tsize_t)(unsafe.Pointer(match_data + 80 + 1*8)) = Tsize_t((int64(end_subject) - int64(subject)) / 1)
 34470  __106:
 34471  	;
 34472  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = Tsize_t((int64((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) - int64(subject)) / 1)
 34473  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frightchar = Tsize_t((int64((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) - int64(subject)) / 1)
 34474  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = Tsize_t((int64(start_match) - int64(subject)) / 1)
 34475  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = rc
 34476  
 34477  	if !(rc >= 0 && options&DPCRE2_COPY_MATCHED_SUBJECT != Tuint32_t(0)) {
 34478  		goto __107
 34479  	}
 34480  
 34481  	length = (length + Tsize_t(was_zero_terminated)) * uint64(DPCRE2_CODE_UNIT_WIDTH/8)
 34482  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = (*struct {
 34483  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 34484  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmalloc})).f(tls, length,
 34485  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 34486  	if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject == uintptr(0)) {
 34487  		goto __109
 34488  	}
 34489  	return -48
 34490  __109:
 34491  	;
 34492  	libc.Xmemcpy(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject, subject, length)
 34493  	*(*Tuint8_t)(unsafe.Pointer(match_data + 73)) |= uint8(DPCRE2_MD_COPIED_SUBJECT)
 34494  	goto __108
 34495  __107:
 34496  
 34497  	if !(rc >= 0 || rc == -2) {
 34498  		goto __110
 34499  	}
 34500  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = subject
 34501  __110:
 34502  	;
 34503  __108:
 34504  	;
 34505  	goto EXIT
 34506  __105:
 34507  	;
 34508  
 34509  	// Advance to the next subject character unless we are at the end of a line
 34510  	//   and firstline is set.
 34511  
 34512  	if !(firstline != 0 && func() int32 {
 34513  		if (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 34514  			return libc.Bool32(start_match < (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, start_match, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+120, utf) != 0)
 34515  		}
 34516  		return libc.Bool32(start_match <= (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128))) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 128 + 1)))))
 34517  	}() != 0) {
 34518  		goto __111
 34519  	}
 34520  	goto __48
 34521  __111:
 34522  	;
 34523  	start_match++
 34524  	if !(utf != 0) {
 34525  		goto __112
 34526  	}
 34527  
 34528  __113:
 34529  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 34530  		goto __114
 34531  	}
 34532  	start_match++
 34533  	goto __113
 34534  __114:
 34535  	;
 34536  __112:
 34537  	;
 34538  	if !(start_match > end_subject) {
 34539  		goto __115
 34540  	}
 34541  	goto __48
 34542  __115:
 34543  	;
 34544  
 34545  	// If we have just passed a CR and we are now at a LF, and the pattern does
 34546  	//   not contain any explicit matches for \r or \n, and the newline option is CRLF
 34547  	//   or ANY or ANYCRLF, advance the match position by one more character.
 34548  
 34549  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr(1)))) == '\015' && start_match < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == '\012' && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASCRORLF) == Tuint32_t(0) && ((*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANY) || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANYCRLF) || (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2))) {
 34550  		goto __116
 34551  	}
 34552  	start_match++
 34553  __116:
 34554  	;
 34555  
 34556  	goto __47
 34557  __47:
 34558  	goto __46
 34559  	goto __48
 34560  __48:
 34561  	; // "Bumpalong" loop
 34562  
 34563  NOMATCH_EXIT:
 34564  	rc = -1
 34565  
 34566  EXIT:
 34567  __117:
 34568  	if !((*TRWS_anchor)(unsafe.Pointer(rws)).Fnext != uintptr(0)) {
 34569  		goto __118
 34570  	}
 34571  
 34572  	next = (*TRWS_anchor)(unsafe.Pointer(rws)).Fnext
 34573  	(*TRWS_anchor)(unsafe.Pointer(rws)).Fnext = (*TRWS_anchor)(unsafe.Pointer(next)).Fnext
 34574  	(*struct {
 34575  		f func(*libc.TLS, uintptr, uintptr)
 34576  	})(unsafe.Pointer(&struct{ uintptr }{(*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl.Ffree})).f(tls, next, (*Tdfa_match_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 34577  	goto __117
 34578  __118:
 34579  	;
 34580  
 34581  	return rc
 34582  }
 34583  
 34584  // End of pcre2_dfa_match.c
 34585  
 34586  // This function is needed only when memmove() is not available.
 34587  
 34588  // End of pcre2_internal.h
 34589  
 34590  // The texts of compile-time error messages. Compile-time error numbers start
 34591  // at COMPILE_ERROR_BASE (100).
 34592  //
 34593  // This used to be a table of strings, but in order to reduce the number of
 34594  // relocations needed when a shared library is loaded dynamically, it is now one
 34595  // long string. We cannot use a table of offsets, because the lengths of inserts
 34596  // such as XSTRING(MAX_NAME_SIZE) are not known. Instead,
 34597  // pcre2_get_error_message() counts through to the one it wants - this isn't a
 34598  // performance issue because these strings are used only when there is an error.
 34599  //
 34600  // Each substring ends with \0 to insert a null character. This includes the final
 34601  // substring, so that the whole string ends with \0\0, which can be detected when
 34602  // counting through.
 34603  
 34604  var compile_error_texts =
 34605  
 34606  // 5
 34607  
 34608  // 10
 34609  
 34610  // 15
 34611  
 34612  // 20
 34613  
 34614  // 25
 34615  
 34616  // 30
 34617  
 34618  // 35
 34619  
 34620  // 40
 34621  
 34622  // 45
 34623  
 34624  // 50
 34625  
 34626  // 55
 34627  
 34628  // "an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT)\0"
 34629  // Was the above
 34630  // 60
 34631  
 34632  // 65
 34633  
 34634  // 70
 34635  
 34636  // 75
 34637  
 34638  // 80
 34639  
 34640  // 85
 34641  
 34642  // 90
 34643  
 34644  // 95
 34645  
 34646  *(*[4381]uint8)(unsafe.Pointer(ts + 798)) /* pcre2_error.c:65:28 */
 34647  
 34648  // Match-time and UTF error texts are in the same format.
 34649  
 34650  var match_error_texts =
 34651  
 34652  // 5
 34653  
 34654  // 10
 34655  
 34656  // 15
 34657  
 34658  // 20
 34659  
 34660  // 25
 34661  
 34662  // 30
 34663  
 34664  // 35
 34665  
 34666  // Never returned by PCRE2 itself
 34667  
 34668  // 40
 34669  
 34670  // 45
 34671  
 34672  // 50
 34673  
 34674  // 55
 34675  
 34676  // 60
 34677  
 34678  // 65
 34679  
 34680  *(*[2476]uint8)(unsafe.Pointer(ts + 5179)) /* pcre2_error.c:194:28 */
 34681  
 34682  // ************************************************
 34683  //
 34684  //            Return error message                *
 34685  //
 34686  
 34687  // This function copies an error message into a buffer whose units are of an
 34688  // appropriate width. Error numbers are positive for compile-time errors, and
 34689  // negative for match-time errors (except for UTF errors), but the numbers are all
 34690  // distinct.
 34691  //
 34692  // Arguments:
 34693  //   enumber       error number
 34694  //   buffer        where to put the message (zero terminated)
 34695  //   size          size of the buffer in code units
 34696  //
 34697  // Returns:        length of message if all is well
 34698  //                 negative on error
 34699  
 34700  func Xpcre2_get_error_message_8(tls *libc.TLS, enumber int32, buffer uintptr, size Tsize_t) int32 { /* pcre2_error.c:297:1: */
 34701  	var message uintptr
 34702  	var i Tsize_t
 34703  	var n int32
 34704  
 34705  	if size == uint64(0) {
 34706  		return -48
 34707  	}
 34708  
 34709  	if enumber >= DCOMPILE_ERROR_BASE {
 34710  		message = uintptr(unsafe.Pointer(&compile_error_texts))
 34711  		n = enumber - DCOMPILE_ERROR_BASE
 34712  	} else if enumber < 0 {
 34713  		message = uintptr(unsafe.Pointer(&match_error_texts))
 34714  		n = -enumber
 34715  	} else {
 34716  		message = ts + 7655 /* "\x00" */ // Empty message list
 34717  		n = 1
 34718  	}
 34719  
 34720  	for ; n > 0; n-- {
 34721  		for int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&message, 1)))) != 0 {
 34722  		}
 34723  
 34724  		if int32(*(*uint8)(unsafe.Pointer(message))) == 0 {
 34725  			return -29
 34726  		}
 34727  	}
 34728  
 34729  	for i = uint64(0); int32(*(*uint8)(unsafe.Pointer(message))) != 0; i++ {
 34730  		if i >= size-uint64(1) {
 34731  			*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(i))) = TPCRE2_UCHAR8(0) // Terminate partial message
 34732  			return -48
 34733  		}
 34734  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(i))) = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&message, 1)))
 34735  	}
 34736  
 34737  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(i))) = TPCRE2_UCHAR8(0)
 34738  	return int32(i)
 34739  }
 34740  
 34741  // End of pcre2_error.c
 34742  
 34743  // This function is needed only when memmove() is not available.
 34744  
 34745  // End of pcre2_internal.h
 34746  
 34747  // Dummy function
 34748  
 34749  // ************************************************
 34750  //
 34751  //      Match an extended grapheme sequence       *
 34752  //
 34753  
 34754  //
 34755  // Arguments:
 34756  //   c              the first character
 34757  //   eptr           pointer to next character
 34758  //   start_subject  pointer to start of subject
 34759  //   end_subject    pointer to end of subject
 34760  //   utf            TRUE if in UTF mode
 34761  //   xcount         pointer to count of additional characters,
 34762  //                    or NULL if count not needed
 34763  //
 34764  // Returns:         pointer after the end of the sequence
 34765  
 34766  func X_pcre2_extuni_8(tls *libc.TLS, c Tuint32_t, eptr TPCRE2_SPTR8, start_subject TPCRE2_SPTR8, end_subject TPCRE2_SPTR8, utf TBOOL, xcount uintptr) TPCRE2_SPTR8 { /* pcre2_extuni.c:92:1: */
 34767  	var lgb int32 = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fgbprop)
 34768  
 34769  	for eptr < end_subject {
 34770  		var rgb int32
 34771  		var len int32 = 1
 34772  		if !(utf != 0) {
 34773  			c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))
 34774  		} else {
 34775  			c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))
 34776  			if c >= 0xc0 {
 34777  				if c&0x20 == Tuint32_t(0) {
 34778  					c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f
 34779  					len++
 34780  				} else if c&0x10 == Tuint32_t(0) {
 34781  					c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f
 34782  					len = len + 2
 34783  				} else if c&0x08 == Tuint32_t(0) {
 34784  					c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f
 34785  					len = len + 3
 34786  				} else if c&0x04 == Tuint32_t(0) {
 34787  					c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 4)))&0x3f
 34788  					len = len + 4
 34789  				} else {
 34790  					c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 5)))&0x3f
 34791  					len = len + 5
 34792  				}
 34793  			}
 34794  
 34795  		}
 34796  		rgb = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fgbprop)
 34797  		if X_pcre2_ucp_gbtable_8[lgb]&(uint32(1)<<rgb) == Tuint32_t(0) {
 34798  			break
 34799  		}
 34800  
 34801  		// Not breaking between Regional Indicators is allowed only if there
 34802  		//   are an even number of preceding RIs.
 34803  
 34804  		if lgb == ucp_gbRegional_Indicator && rgb == ucp_gbRegional_Indicator {
 34805  			var ricount int32 = 0
 34806  			var bptr TPCRE2_SPTR8 = eptr - uintptr(1)
 34807  			if utf != 0 {
 34808  				for uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr)))&0xc0 == 0x80 {
 34809  					bptr--
 34810  				}
 34811  			}
 34812  
 34813  			// bptr is pointing to the left-hand character
 34814  
 34815  			for bptr > start_subject {
 34816  				bptr--
 34817  				if utf != 0 {
 34818  					for uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr)))&0xc0 == 0x80 {
 34819  						bptr--
 34820  					}
 34821  					c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr)))
 34822  					if c >= 0xc0 {
 34823  						if c&0x20 == Tuint32_t(0) {
 34824  							c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f
 34825  						} else if c&0x10 == Tuint32_t(0) {
 34826  							c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 2)))&0x3f
 34827  						} else if c&0x08 == Tuint32_t(0) {
 34828  							c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 3)))&0x3f
 34829  						} else if c&0x04 == Tuint32_t(0) {
 34830  							c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 4)))&0x3f
 34831  						} else {
 34832  							c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr + 5)))&0x3f
 34833  						}
 34834  					}
 34835  
 34836  				} else {
 34837  					c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bptr)))
 34838  				}
 34839  				if int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fgbprop) != ucp_gbRegional_Indicator {
 34840  					break
 34841  				}
 34842  				ricount++
 34843  			}
 34844  			if ricount&1 != 0 {
 34845  				break
 34846  			} // Grapheme break required
 34847  		}
 34848  
 34849  		// If Extend or ZWJ follows Extended_Pictographic, do not update lgb; this
 34850  		//   allows any number of them before a following Extended_Pictographic.
 34851  
 34852  		if rgb != ucp_gbExtend && rgb != ucp_gbZWJ || lgb != ucp_gbExtended_Pictographic {
 34853  			lgb = rgb
 34854  		}
 34855  
 34856  		eptr += TPCRE2_SPTR8(len)
 34857  		if xcount != uintptr(0) {
 34858  			*(*int32)(unsafe.Pointer(xcount)) += 1
 34859  		}
 34860  	}
 34861  
 34862  	return eptr
 34863  }
 34864  
 34865  // End of pcre2_extuni.c
 34866  
 34867  // This function is needed only when memmove() is not available.
 34868  
 34869  // End of pcre2_internal.h
 34870  
 34871  // ************************************************
 34872  //
 34873  //    Scan compiled regex for specific bracket    *
 34874  //
 34875  
 34876  //
 34877  // Arguments:
 34878  //   code        points to start of expression
 34879  //   utf         TRUE in UTF mode
 34880  //   number      the required bracket number or negative to find a lookbehind
 34881  //
 34882  // Returns:      pointer to the opcode for the bracket, or NULL if not found
 34883  
 34884  func X_pcre2_find_bracket_8(tls *libc.TLS, code TPCRE2_SPTR8, utf TBOOL, number int32) TPCRE2_SPTR8 { /* pcre2_find_bracket.c:70:1: */
 34885  	for {
 34886  		var c TPCRE2_UCHAR8 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(code))
 34887  
 34888  		if int32(c) == OP_END {
 34889  			return uintptr(0)
 34890  		}
 34891  
 34892  		// XCLASS is used for classes that cannot be represented just by a bit map.
 34893  		//   This includes negated single high-valued characters. CALLOUT_STR is used for
 34894  		//   callouts with string arguments. In both cases the length in the table is
 34895  		//   zero; the actual length is stored in the compiled code.
 34896  
 34897  		if int32(c) == OP_XCLASS {
 34898  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 34899  		} else if int32(c) == OP_CALLOUT_STR {
 34900  			code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 6)))))
 34901  		} else if int32(c) == OP_REVERSE {
 34902  			if number < 0 {
 34903  				return code
 34904  			}
 34905  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
 34906  		} else if int32(c) == OP_CBRA || int32(c) == OP_SCBRA || int32(c) == OP_CBRAPOS || int32(c) == OP_SCBRAPOS {
 34907  			var n int32 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 4)))))
 34908  			if n == number {
 34909  				return code
 34910  			}
 34911  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
 34912  		} else {
 34913  			switch int32(c) {
 34914  			case OP_TYPESTAR:
 34915  				fallthrough
 34916  			case OP_TYPEMINSTAR:
 34917  				fallthrough
 34918  			case OP_TYPEPLUS:
 34919  				fallthrough
 34920  			case OP_TYPEMINPLUS:
 34921  				fallthrough
 34922  			case OP_TYPEQUERY:
 34923  				fallthrough
 34924  			case OP_TYPEMINQUERY:
 34925  				fallthrough
 34926  			case OP_TYPEPOSSTAR:
 34927  				fallthrough
 34928  			case OP_TYPEPOSPLUS:
 34929  				fallthrough
 34930  			case OP_TYPEPOSQUERY:
 34931  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1))) == OP_NOTPROP {
 34932  					code += uintptr(2)
 34933  				}
 34934  				break
 34935  				fallthrough
 34936  
 34937  			case OP_TYPEUPTO:
 34938  				fallthrough
 34939  			case OP_TYPEMINUPTO:
 34940  				fallthrough
 34941  			case OP_TYPEEXACT:
 34942  				fallthrough
 34943  			case OP_TYPEPOSUPTO:
 34944  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 3))) == OP_NOTPROP {
 34945  					code += uintptr(2)
 34946  				}
 34947  				break
 34948  				fallthrough
 34949  
 34950  			case OP_MARK:
 34951  				fallthrough
 34952  			case OP_COMMIT_ARG:
 34953  				fallthrough
 34954  			case OP_PRUNE_ARG:
 34955  				fallthrough
 34956  			case OP_SKIP_ARG:
 34957  				fallthrough
 34958  			case OP_THEN_ARG:
 34959  				code += TPCRE2_SPTR8(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))
 34960  				break
 34961  			}
 34962  
 34963  			// Add in the fixed length from the table
 34964  
 34965  			code += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[c])
 34966  
 34967  			// In UTF-8 and UTF-16 modes, opcodes that are followed by a character may be
 34968  			//   followed by a multi-byte character. The length in the table is a minimum, so
 34969  			//   we have to arrange to skip the extra bytes.
 34970  
 34971  			if utf != 0 {
 34972  				switch int32(c) {
 34973  				case OP_CHAR:
 34974  					fallthrough
 34975  				case OP_CHARI:
 34976  					fallthrough
 34977  				case OP_NOT:
 34978  					fallthrough
 34979  				case OP_NOTI:
 34980  					fallthrough
 34981  				case OP_EXACT:
 34982  					fallthrough
 34983  				case OP_EXACTI:
 34984  					fallthrough
 34985  				case OP_NOTEXACT:
 34986  					fallthrough
 34987  				case OP_NOTEXACTI:
 34988  					fallthrough
 34989  				case OP_UPTO:
 34990  					fallthrough
 34991  				case OP_UPTOI:
 34992  					fallthrough
 34993  				case OP_NOTUPTO:
 34994  					fallthrough
 34995  				case OP_NOTUPTOI:
 34996  					fallthrough
 34997  				case OP_MINUPTO:
 34998  					fallthrough
 34999  				case OP_MINUPTOI:
 35000  					fallthrough
 35001  				case OP_NOTMINUPTO:
 35002  					fallthrough
 35003  				case OP_NOTMINUPTOI:
 35004  					fallthrough
 35005  				case OP_POSUPTO:
 35006  					fallthrough
 35007  				case OP_POSUPTOI:
 35008  					fallthrough
 35009  				case OP_NOTPOSUPTO:
 35010  					fallthrough
 35011  				case OP_NOTPOSUPTOI:
 35012  					fallthrough
 35013  				case OP_STAR:
 35014  					fallthrough
 35015  				case OP_STARI:
 35016  					fallthrough
 35017  				case OP_NOTSTAR:
 35018  					fallthrough
 35019  				case OP_NOTSTARI:
 35020  					fallthrough
 35021  				case OP_MINSTAR:
 35022  					fallthrough
 35023  				case OP_MINSTARI:
 35024  					fallthrough
 35025  				case OP_NOTMINSTAR:
 35026  					fallthrough
 35027  				case OP_NOTMINSTARI:
 35028  					fallthrough
 35029  				case OP_POSSTAR:
 35030  					fallthrough
 35031  				case OP_POSSTARI:
 35032  					fallthrough
 35033  				case OP_NOTPOSSTAR:
 35034  					fallthrough
 35035  				case OP_NOTPOSSTARI:
 35036  					fallthrough
 35037  				case OP_PLUS:
 35038  					fallthrough
 35039  				case OP_PLUSI:
 35040  					fallthrough
 35041  				case OP_NOTPLUS:
 35042  					fallthrough
 35043  				case OP_NOTPLUSI:
 35044  					fallthrough
 35045  				case OP_MINPLUS:
 35046  					fallthrough
 35047  				case OP_MINPLUSI:
 35048  					fallthrough
 35049  				case OP_NOTMINPLUS:
 35050  					fallthrough
 35051  				case OP_NOTMINPLUSI:
 35052  					fallthrough
 35053  				case OP_POSPLUS:
 35054  					fallthrough
 35055  				case OP_POSPLUSI:
 35056  					fallthrough
 35057  				case OP_NOTPOSPLUS:
 35058  					fallthrough
 35059  				case OP_NOTPOSPLUSI:
 35060  					fallthrough
 35061  				case OP_QUERY:
 35062  					fallthrough
 35063  				case OP_QUERYI:
 35064  					fallthrough
 35065  				case OP_NOTQUERY:
 35066  					fallthrough
 35067  				case OP_NOTQUERYI:
 35068  					fallthrough
 35069  				case OP_MINQUERY:
 35070  					fallthrough
 35071  				case OP_MINQUERYI:
 35072  					fallthrough
 35073  				case OP_NOTMINQUERY:
 35074  					fallthrough
 35075  				case OP_NOTMINQUERYI:
 35076  					fallthrough
 35077  				case OP_POSQUERY:
 35078  					fallthrough
 35079  				case OP_POSQUERYI:
 35080  					fallthrough
 35081  				case OP_NOTPOSQUERY:
 35082  					fallthrough
 35083  				case OP_NOTPOSQUERYI:
 35084  					if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1)))) >= 0xc0 {
 35085  						code += TPCRE2_SPTR8(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + libc.UintptrFromInt32(-1))))&0x3f])
 35086  					}
 35087  					break
 35088  				}
 35089  			}
 35090  		}
 35091  	}
 35092  	return TPCRE2_SPTR8(0)
 35093  }
 35094  
 35095  // End of pcre2_find_bracket.c
 35096  
 35097  // This function is needed only when memmove() is not available.
 35098  
 35099  // End of pcre2_internal.h
 35100  
 35101  // ************************************************
 35102  //
 35103  //        JIT compile a Regular Expression        *
 35104  //
 35105  
 35106  // This function used JIT to convert a previously-compiled pattern into machine
 35107  // code.
 35108  //
 35109  // Arguments:
 35110  //   code          a compiled pattern
 35111  //   options       JIT option bits
 35112  //
 35113  // Returns:        0: success or (*NOJIT) was used
 35114  //                <0: an error code
 35115  
 35116  func Xpcre2_jit_compile_8(tls *libc.TLS, code uintptr, options Tuint32_t) int32 { /* pcre2_jit_compile.c:14382:1: */
 35117  	var re uintptr = code
 35118  
 35119  	if code == uintptr(0) {
 35120  		return -51
 35121  	}
 35122  
 35123  	if options&libc.CplUint32(DPCRE2_JIT_COMPLETE|DPCRE2_JIT_PARTIAL_SOFT|DPCRE2_JIT_PARTIAL_HARD|DPCRE2_JIT_INVALID_UTF) != Tuint32_t(0) {
 35124  		return -45
 35125  	}
 35126  
 35127  	// Support for invalid UTF was first introduced in JIT, with the option
 35128  	// PCRE2_JIT_INVALID_UTF. Later, support was added to the interpreter, and the
 35129  	// compile-time option PCRE2_MATCH_INVALID_UTF was created. This is now the
 35130  	// preferred feature, with the earlier option deprecated. However, for backward
 35131  	// compatibility, if the earlier option is set, it forces the new option so that
 35132  	// if JIT matching falls back to the interpreter, there is still support for
 35133  	// invalid UTF. However, if this function has already been successfully called
 35134  	// without PCRE2_JIT_INVALID_UTF and without PCRE2_MATCH_INVALID_UTF (meaning that
 35135  	// non-invalid-supporting JIT code was compiled), give an error.
 35136  	//
 35137  	// If in the future support for PCRE2_JIT_INVALID_UTF is withdrawn, the following
 35138  	// actions are needed:
 35139  	//
 35140  	//   1. Remove the definition from pcre2.h.in and from the list in
 35141  	//      PUBLIC_JIT_COMPILE_OPTIONS above.
 35142  	//
 35143  	//   2. Replace PCRE2_JIT_INVALID_UTF with a local flag in this module.
 35144  	//
 35145  	//   3. Replace PCRE2_JIT_INVALID_UTF in pcre2_jit_test.c.
 35146  	//
 35147  	//   4. Delete the following short block of code. The setting of "re" and
 35148  	//      "functions" can be moved into the JIT-only block below, but if that is
 35149  	//      done, (void)re and (void)functions will be needed in the non-JIT case, to
 35150  	//      avoid compiler warnings.
 35151  
 35152  	if options&DPCRE2_JIT_INVALID_UTF != Tuint32_t(0) {
 35153  		if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_INVALID_UTF == Tuint32_t(0) {
 35154  			*(*Tuint32_t)(unsafe.Pointer(re + 88)) |= DPCRE2_MATCH_INVALID_UTF
 35155  		}
 35156  	}
 35157  
 35158  	// The above tests are run with and without JIT support. This means that
 35159  	// PCRE2_JIT_INVALID_UTF propagates back into the regex options (ensuring
 35160  	// interpreter support) even in the absence of JIT. But now, if there is no JIT
 35161  	// support, give an error return.
 35162  
 35163  	return -45
 35164  }
 35165  
 35166  // JIT compiler uses an all-in-one approach. This improves security,
 35167  //    since the code generator functions are not exported.
 35168  
 35169  // ************************************************
 35170  //
 35171  //      Perl-Compatible Regular Expressions       *
 35172  //
 35173  
 35174  // PCRE is a library of functions to support regular expressions whose syntax
 35175  // and semantics are as close as possible to those of the Perl 5 language.
 35176  //
 35177  //                        Written by Philip Hazel
 35178  //      Original API code Copyright (c) 1997-2012 University of Cambridge
 35179  //           New API code Copyright (c) 2016-2018 University of Cambridge
 35180  //
 35181  // -----------------------------------------------------------------------------
 35182  // Redistribution and use in source and binary forms, with or without
 35183  // modification, are permitted provided that the following conditions are met:
 35184  //
 35185  //     * Redistributions of source code must retain the above copyright notice,
 35186  //       this list of conditions and the following disclaimer.
 35187  //
 35188  //     * Redistributions in binary form must reproduce the above copyright
 35189  //       notice, this list of conditions and the following disclaimer in the
 35190  //       documentation and/or other materials provided with the distribution.
 35191  //
 35192  //     * Neither the name of the University of Cambridge nor the names of its
 35193  //       contributors may be used to endorse or promote products derived from
 35194  //       this software without specific prior written permission.
 35195  //
 35196  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 35197  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 35198  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 35199  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 35200  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 35201  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 35202  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 35203  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 35204  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 35205  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 35206  // POSSIBILITY OF SUCH DAMAGE.
 35207  // -----------------------------------------------------------------------------
 35208  
 35209  // ************************************************
 35210  //
 35211  //              Do a JIT pattern match            *
 35212  //
 35213  
 35214  // This function runs a JIT pattern match.
 35215  //
 35216  // Arguments:
 35217  //   code            points to the compiled expression
 35218  //   subject         points to the subject string
 35219  //   length          length of subject string (may contain binary zeros)
 35220  //   start_offset    where to start in the subject string
 35221  //   options         option bits
 35222  //   match_data      points to a match_data block
 35223  //   mcontext        points to a match context
 35224  //
 35225  // Returns:          > 0 => success; value is the number of ovector pairs filled
 35226  //                   = 0 => success, but ovector is not big enough
 35227  //                    -1 => failed to match (PCRE_ERROR_NOMATCH)
 35228  //                  < -1 => some kind of unexpected problem
 35229  
 35230  func Xpcre2_jit_match_8(tls *libc.TLS, code uintptr, subject TPCRE2_SPTR8, length Tsize_t, start_offset Tsize_t, options Tuint32_t, match_data uintptr, mcontext uintptr) int32 { /* pcre2_jit_match.c:85:1: */
 35231  
 35232  	_ = code
 35233  	_ = subject
 35234  	_ = length
 35235  	_ = start_offset
 35236  	_ = options
 35237  	_ = match_data
 35238  	_ = mcontext
 35239  	return -45
 35240  
 35241  }
 35242  
 35243  // End of pcre2_jit_match.c
 35244  // ************************************************
 35245  //
 35246  //      Perl-Compatible Regular Expressions       *
 35247  //
 35248  
 35249  // PCRE is a library of functions to support regular expressions whose syntax
 35250  // and semantics are as close as possible to those of the Perl 5 language.
 35251  //
 35252  //                        Written by Philip Hazel
 35253  //      Original API code Copyright (c) 1997-2012 University of Cambridge
 35254  //          New API code Copyright (c) 2016 University of Cambridge
 35255  //
 35256  // -----------------------------------------------------------------------------
 35257  // Redistribution and use in source and binary forms, with or without
 35258  // modification, are permitted provided that the following conditions are met:
 35259  //
 35260  //     * Redistributions of source code must retain the above copyright notice,
 35261  //       this list of conditions and the following disclaimer.
 35262  //
 35263  //     * Redistributions in binary form must reproduce the above copyright
 35264  //       notice, this list of conditions and the following disclaimer in the
 35265  //       documentation and/or other materials provided with the distribution.
 35266  //
 35267  //     * Neither the name of the University of Cambridge nor the names of its
 35268  //       contributors may be used to endorse or promote products derived from
 35269  //       this software without specific prior written permission.
 35270  //
 35271  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 35272  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 35273  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 35274  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 35275  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 35276  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 35277  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 35278  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 35279  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 35280  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 35281  // POSSIBILITY OF SUCH DAMAGE.
 35282  // -----------------------------------------------------------------------------
 35283  
 35284  // ************************************************
 35285  //
 35286  //           Free JIT read-only data              *
 35287  //
 35288  
 35289  func X_pcre2_jit_free_rodata_8(tls *libc.TLS, current uintptr, allocator_data uintptr) { /* pcre2_jit_misc.c:53:1: */
 35290  	_ = current
 35291  	_ = allocator_data
 35292  }
 35293  
 35294  // ************************************************
 35295  //
 35296  //           Free JIT compiled code               *
 35297  //
 35298  
 35299  func X_pcre2_jit_free_8(tls *libc.TLS, executable_jit uintptr, memctl uintptr) { /* pcre2_jit_misc.c:78:1: */
 35300  	_ = executable_jit
 35301  	_ = memctl
 35302  }
 35303  
 35304  // ************************************************
 35305  //
 35306  //            Free unused JIT memory              *
 35307  //
 35308  
 35309  func Xpcre2_jit_free_unused_memory_8(tls *libc.TLS, gcontext uintptr) { /* pcre2_jit_misc.c:107:1: */
 35310  	_ = gcontext // Suppress warning
 35311  }
 35312  
 35313  // ************************************************
 35314  //
 35315  //            Allocate a JIT stack                *
 35316  //
 35317  
 35318  func Xpcre2_jit_stack_create_8(tls *libc.TLS, startsize Tsize_t, maxsize Tsize_t, gcontext uintptr) uintptr { /* pcre2_jit_misc.c:123:32: */
 35319  
 35320  	_ = gcontext
 35321  	_ = startsize
 35322  	_ = maxsize
 35323  	return uintptr(0)
 35324  
 35325  }
 35326  
 35327  // ************************************************
 35328  //
 35329  //         Assign a JIT stack to a pattern        *
 35330  //
 35331  
 35332  func Xpcre2_jit_stack_assign_8(tls *libc.TLS, mcontext uintptr, callback Tpcre2_jit_callback_8, callback_data uintptr) { /* pcre2_jit_misc.c:164:1: */
 35333  	_ = mcontext
 35334  	_ = callback
 35335  	_ = callback_data
 35336  }
 35337  
 35338  // ************************************************
 35339  //
 35340  //               Free a JIT stack                 *
 35341  //
 35342  
 35343  func Xpcre2_jit_stack_free_8(tls *libc.TLS, jit_stack uintptr) { /* pcre2_jit_misc.c:186:1: */
 35344  	_ = jit_stack
 35345  }
 35346  
 35347  // ************************************************
 35348  //
 35349  //               Get target CPU type              *
 35350  //
 35351  
 35352  func X_pcre2_jit_get_target_8(tls *libc.TLS) uintptr { /* pcre2_jit_misc.c:204:11: */
 35353  	return ts + 7657 /* "JIT is not suppo..." */
 35354  }
 35355  
 35356  // ************************************************
 35357  //
 35358  //              Get size of JIT code              *
 35359  //
 35360  
 35361  func X_pcre2_jit_get_size_8(tls *libc.TLS, executable_jit uintptr) Tsize_t { /* pcre2_jit_misc.c:220:1: */
 35362  	_ = executable_jit
 35363  	return uint64(0)
 35364  }
 35365  
 35366  // End of pcre2_jit_misc.c
 35367  
 35368  // End of pcre2_jit_compile.c
 35369  
 35370  // This function is needed only when memmove() is not available.
 35371  
 35372  // End of pcre2_internal.h
 35373  
 35374  // ************************************************
 35375  //
 35376  //           Create PCRE2 character tables        *
 35377  //
 35378  
 35379  // This function builds a set of character tables for use by PCRE2 and returns
 35380  // a pointer to them. They are build using the ctype functions, and consequently
 35381  // their contents will depend upon the current locale setting. When compiled as
 35382  // part of the library, the store is obtained via a general context malloc, if
 35383  // supplied, but when PCRE2_DFTABLES is defined (when compiling the pcre2_dftables
 35384  // freestanding auxiliary program) malloc() is used, and the function has a
 35385  // different name so as not to clash with the prototype in pcre2.h.
 35386  //
 35387  // Arguments:   none when PCRE2_DFTABLES is defined
 35388  //                else a PCRE2 general context or NULL
 35389  // Returns:     pointer to the contiguous block of data
 35390  //                else NULL if memory allocation failed
 35391  
 35392  func Xpcre2_maketables_8(tls *libc.TLS, gcontext uintptr) uintptr { /* pcre2_maketables.c:81:30: */
 35393  	var yield uintptr = func() uintptr {
 35394  		if gcontext != uintptr(0) {
 35395  			return (*struct {
 35396  				f func(*libc.TLS, Tsize_t, uintptr) uintptr
 35397  			})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmalloc})).f(tls, uint64(Dcbits_offset+Dcbit_length+256), (*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data)
 35398  		}
 35399  		return libc.Xmalloc(tls, uint64(Dcbits_offset+Dcbit_length+256))
 35400  	}()
 35401  	var i int32
 35402  	var p uintptr
 35403  
 35404  	if yield == uintptr(0) {
 35405  		return uintptr(0)
 35406  	}
 35407  	p = yield
 35408  
 35409  	// First comes the lower casing table
 35410  
 35411  	for i = 0; i < 256; i++ {
 35412  		*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = Tuint8_t(libc.Xtolower(tls, i))
 35413  	}
 35414  
 35415  	// Next the case-flipping table
 35416  
 35417  	for i = 0; i < 256; i++ {
 35418  		*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = func() uint8 {
 35419  			if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISlower) != 0 {
 35420  				return uint8(libc.Xtoupper(tls, i))
 35421  			}
 35422  			return uint8(libc.Xtolower(tls, i))
 35423  		}()
 35424  	}
 35425  
 35426  	// Then the character class tables. Don't try to be clever and save effort on
 35427  	// exclusive ones - in some locales things may be different.
 35428  	//
 35429  	// Note that the table for "space" includes everything "isspace" gives, including
 35430  	// VT in the default locale. This makes it work for the POSIX class [:space:].
 35431  	// From PCRE1 release 8.34 and for all PCRE2 releases it is also correct for Perl
 35432  	// space, because Perl added VT at release 5.18.
 35433  	//
 35434  	// Note also that it is possible for a character to be alnum or alpha without
 35435  	// being lower or upper, such as "male and female ordinals" (\xAA and \xBA) in the
 35436  	// fr_FR locale (at least under Debian Linux's locales as of 12/2005). So we must
 35437  	// test for alnum specially.
 35438  
 35439  	libc.Xmemset(tls, p, 0, uint64(Dcbit_length))
 35440  	for i = 0; i < 256; i++ {
 35441  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISdigit) != 0 {
 35442  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_digit+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35443  		}
 35444  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISupper) != 0 {
 35445  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_upper+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35446  		}
 35447  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISlower) != 0 {
 35448  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_lower+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35449  		}
 35450  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISalnum) != 0 {
 35451  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_word+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35452  		}
 35453  		if i == '_' {
 35454  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_word+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35455  		}
 35456  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISspace) != 0 {
 35457  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_space+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35458  		}
 35459  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISxdigit) != 0 {
 35460  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_xdigit+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35461  		}
 35462  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISgraph) != 0 {
 35463  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_graph+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35464  		}
 35465  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISprint) != 0 {
 35466  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_print+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35467  		}
 35468  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISpunct) != 0 {
 35469  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_punct+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35470  		}
 35471  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_IScntrl) != 0 {
 35472  			*(*Tuint8_t)(unsafe.Pointer(p + uintptr(Dcbit_cntrl+i/8))) |= Tuint8_t(uint32(1) << (i & 7))
 35473  		}
 35474  	}
 35475  	p += uintptr(Dcbit_length)
 35476  
 35477  	// Finally, the character type table. In this, we used to exclude VT from the
 35478  	// white space chars, because Perl didn't recognize it as such for \s and for
 35479  	// comments within regexes. However, Perl changed at release 5.18, so PCRE1
 35480  	// changed at release 8.34 and it's always been this way for PCRE2.
 35481  
 35482  	for i = 0; i < 256; i++ {
 35483  		var x int32 = 0
 35484  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISspace) != 0 {
 35485  			x = x + Dctype_space
 35486  		}
 35487  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISalpha) != 0 {
 35488  			x = x + Dctype_letter
 35489  		}
 35490  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISlower) != 0 {
 35491  			x = x + Dctype_lcletter
 35492  		}
 35493  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISdigit) != 0 {
 35494  			x = x + Dctype_digit
 35495  		}
 35496  		if int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(libc.X__ctype_b_loc(tls))) + uintptr(i)*2)))&int32(_ISalnum) != 0 || i == '_' {
 35497  			x = x + Dctype_word
 35498  		}
 35499  		*(*Tuint8_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = Tuint8_t(x)
 35500  	}
 35501  
 35502  	return yield
 35503  }
 35504  
 35505  func Xpcre2_maketables_free_8(tls *libc.TLS, gcontext uintptr, tables uintptr) { /* pcre2_maketables.c:154:1: */
 35506  	if gcontext != 0 {
 35507  		(*struct {
 35508  			f func(*libc.TLS, uintptr, uintptr)
 35509  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Ffree})).f(tls, tables, (*Tpcre2_general_context_8)(unsafe.Pointer(gcontext)).Fmemctl.Fmemory_data)
 35510  	} else {
 35511  		libc.Xfree(tls, tables)
 35512  	}
 35513  }
 35514  
 35515  // End of pcre2_maketables.c
 35516  
 35517  // Min and max values for the common repeats; a maximum of UINT32_MAX =>
 35518  // infinity.
 35519  
 35520  var rep_min = [11]Tuint32_t{
 35521  	Tuint32_t(0), Tuint32_t(0), // * and *?
 35522  	Tuint32_t(1), Tuint32_t(1), // + and +?
 35523  	Tuint32_t(0), Tuint32_t(0), // ? and ??
 35524  	Tuint32_t(0), Tuint32_t(0), // dummy placefillers for OP_CR[MIN]RANGE
 35525  	Tuint32_t(0), Tuint32_t(1), Tuint32_t(0)} /* pcre2_match.c:123:23 */ // OP_CRPOS{STAR, PLUS, QUERY}
 35526  
 35527  var rep_max = [11]Tuint32_t{
 35528  	4294967295, 4294967295,
 35529  	4294967295, 4294967295,
 35530  	Tuint32_t(1), Tuint32_t(1), // ? and ??
 35531  	Tuint32_t(0), Tuint32_t(0), // dummy placefillers for OP_CR[MIN]RANGE
 35532  	4294967295, 4294967295, Tuint32_t(1)} /* pcre2_match.c:130:23 */ // OP_CRPOS{STAR, PLUS, QUERY}
 35533  
 35534  // Repetition types - must include OP_CRPOSRANGE (not needed above)
 35535  
 35536  var rep_typ = [12]Tuint32_t{
 35537  	REPTYPE_MAX, REPTYPE_MIN, // * and *?
 35538  	REPTYPE_MAX, REPTYPE_MIN, // + and +?
 35539  	REPTYPE_MAX, REPTYPE_MIN, // ? and ??
 35540  	REPTYPE_MAX, REPTYPE_MIN, // OP_CRRANGE and OP_CRMINRANGE
 35541  	REPTYPE_POS, REPTYPE_POS, // OP_CRPOSSTAR, OP_CRPOSPLUS
 35542  	REPTYPE_POS, REPTYPE_POS} /* pcre2_match.c:139:23 */
 35543  
 35544  // Define short names for general fields in the current backtrack frame, which
 35545  // is always pointed to by the F variable. Occasional references to fields in
 35546  // other frames are written out explicitly. There are also some fields in the
 35547  // current frame whose names start with "temp" that are used for short-term,
 35548  // localised backtracking memory. These are #defined with Lxxx names at the point
 35549  // of use and undefined afterwards.
 35550  
 35551  // ************************************************
 35552  //
 35553  //                Process a callout               *
 35554  //
 35555  
 35556  // This function is called for all callouts, whether "standalone" or at the
 35557  // start of a conditional group. Feptr will be pointing to either OP_CALLOUT or
 35558  // OP_CALLOUT_STR. A callout block is allocated in pcre2_match() and initialized
 35559  // with fixed values.
 35560  //
 35561  // Arguments:
 35562  //   F          points to the current backtracking frame
 35563  //   mb         points to the match block
 35564  //   lengthptr  where to return the length of the callout item
 35565  //
 35566  // Returns:     the return from the callout
 35567  //              or 0 if no callout function exists
 35568  
 35569  func do_callout1(tls *libc.TLS, F uintptr, mb uintptr, lengthptr uintptr) int32 { /* pcre2_match.c:267:1: */
 35570  	var rc int32
 35571  	var save0 Tsize_t
 35572  	var save1 Tsize_t
 35573  	var callout_ovector uintptr
 35574  	var cb uintptr
 35575  
 35576  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) = func() uint64 {
 35577  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CALLOUT {
 35578  			return uint64(X_pcre2_OP_lengths_8[OP_CALLOUT])
 35579  		}
 35580  		return uint64(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 6)))))
 35581  	}()
 35582  
 35583  	if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout == uintptr(0) {
 35584  		return 0
 35585  	} // No callout function provided
 35586  
 35587  	// The original matching code (pre 10.30) worked directly with the ovector
 35588  	// passed by the user, and this was passed to callouts. Now that the working
 35589  	// ovector is in the backtracking frame, it no longer needs to reserve space for
 35590  	// the overall match offsets (which would waste space in the frame). For backward
 35591  	// compatibility, however, we pass capture_top and offset_vector to the callout as
 35592  	// if for the extended ovector, and we ensure that the first two slots are unset
 35593  	// by preserving and restoring their current contents. Picky compilers complain if
 35594  	// references such as Fovector[-2] are use directly, so we set up a separate
 35595  	// pointer.
 35596  
 35597  	callout_ovector = F + 128 - uintptr(2)*8
 35598  
 35599  	// The cb->version, cb->subject, cb->subject_length, and cb->start_match fields
 35600  	// are set externally. The first 3 never change; the last is updated for each
 35601  	// bumpalong.
 35602  
 35603  	cb = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcb
 35604  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcapture_top = Tuint32_t((*Theapframe)(unsafe.Pointer(F)).Foffset_top)/Tuint32_t(2) + Tuint32_t(1)
 35605  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcapture_last = (*Theapframe)(unsafe.Pointer(F)).Fcapture_last
 35606  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Foffset_vector = callout_ovector
 35607  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fmark = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnomatch_mark
 35608  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcurrent_position = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 35609  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fpattern_position = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 35610  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fnext_item_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))))
 35611  
 35612  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CALLOUT {
 35613  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))
 35614  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = uint64(0)
 35615  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = uintptr(0)
 35616  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = uint64(0)
 35617  	} else {
 35618  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_number = Tuint32_t(0)
 35619  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 7)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 8)))))
 35620  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1+4*DLINK_SIZE) + uintptr(1)
 35621  		(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_string_length = *(*Tsize_t)(unsafe.Pointer(lengthptr)) - uint64(1+4*DLINK_SIZE) - uint64(2)
 35622  	}
 35623  
 35624  	save0 = *(*Tsize_t)(unsafe.Pointer(callout_ovector))
 35625  	save1 = *(*Tsize_t)(unsafe.Pointer(callout_ovector + 1*8))
 35626  	*(*Tsize_t)(unsafe.Pointer(callout_ovector)) = libc.AssignPtrUint64(callout_ovector+1*8, libc.CplUint64(uint64(0)))
 35627  	rc = (*struct {
 35628  		f func(*libc.TLS, uintptr, uintptr) int32
 35629  	})(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout})).f(tls, cb, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout_data)
 35630  	*(*Tsize_t)(unsafe.Pointer(callout_ovector)) = save0
 35631  	*(*Tsize_t)(unsafe.Pointer(callout_ovector + 1*8)) = save1
 35632  	(*Tpcre2_callout_block_8)(unsafe.Pointer(cb)).Fcallout_flags = Tuint32_t(0)
 35633  	return rc
 35634  }
 35635  
 35636  // ************************************************
 35637  //
 35638  //          Match a back-reference                *
 35639  //
 35640  
 35641  // This function is called only when it is known that the offset lies within
 35642  // the offsets that have so far been used in the match. Note that in caseless
 35643  // UTF-8 mode, the number of subject bytes matched may be different to the number
 35644  // of reference bytes. (In theory this could also happen in UTF-16 mode, but it
 35645  // seems unlikely.)
 35646  //
 35647  // Arguments:
 35648  //   offset      index into the offset vector
 35649  //   caseless    TRUE if caseless
 35650  //   F           the current backtracking frame pointer
 35651  //   mb          points to match block
 35652  //   lengthptr   pointer for returning the length matched
 35653  //
 35654  // Returns:      = 0 sucessful match; number of code units matched is set
 35655  //               < 0 no match
 35656  //               > 0 partial match
 35657  
 35658  func match_ref(tls *libc.TLS, offset Tsize_t, caseless TBOOL, F uintptr, mb uintptr, lengthptr uintptr) int32 { /* pcre2_match.c:355:1: */
 35659  	var p TPCRE2_SPTR8
 35660  	var length Tsize_t
 35661  	var eptr TPCRE2_SPTR8
 35662  	var eptr_start TPCRE2_SPTR8
 35663  
 35664  	// Deal with an unset group. The default is no match, but there is an option to
 35665  	// match an empty string.
 35666  
 35667  	if offset >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top || *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) == libc.CplUint64(uint64(0)) {
 35668  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0) {
 35669  			*(*Tsize_t)(unsafe.Pointer(lengthptr)) = uint64(0)
 35670  			return 0 // Match
 35671  		} else {
 35672  			return -1
 35673  		} // No match
 35674  	}
 35675  
 35676  	// Separate the caseless and UTF cases for speed.
 35677  
 35678  	eptr = libc.AssignUintptr(&eptr_start, (*Theapframe)(unsafe.Pointer(F)).Feptr)
 35679  	p = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject + uintptr(*(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)))
 35680  	length = *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset+uint64(1))*8)) - *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8))
 35681  
 35682  	if caseless != 0 {
 35683  		var utf TBOOL = libc.Bool32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UTF != Tuint32_t(0))
 35684  
 35685  		if utf != 0 || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0) {
 35686  			var endptr TPCRE2_SPTR8 = p + uintptr(length)
 35687  
 35688  			// Match characters up to the end of the reference. NOTE: the number of
 35689  			//     code units matched may differ, because in UTF-8 there are some characters
 35690  			//     whose upper and lower case codes have different numbers of bytes. For
 35691  			//     example, U+023A (2 bytes in UTF-8) is the upper case version of U+2C65 (3
 35692  			//     bytes in UTF-8); a sequence of 3 of the former uses 6 bytes, as does a
 35693  			//     sequence of two of the latter. It is important, therefore, to check the
 35694  			//     length along the reference, not along the subject (earlier code did this
 35695  			//     wrong). UCP without uses Unicode properties but without UTF encoding.
 35696  
 35697  			for p < endptr {
 35698  				var c Tuint32_t
 35699  				var d Tuint32_t
 35700  				var ur uintptr
 35701  				if eptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject {
 35702  					return 1
 35703  				} // Partial match
 35704  
 35705  				if utf != 0 {
 35706  					c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1))))
 35707  					if c >= 0xc0 {
 35708  						if c&0x20 == Tuint32_t(0) {
 35709  							c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1))))&0x3f
 35710  						} else if c&0x10 == Tuint32_t(0) {
 35711  							c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f
 35712  							eptr += uintptr(2)
 35713  						} else if c&0x08 == Tuint32_t(0) {
 35714  							c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f
 35715  							eptr += uintptr(3)
 35716  						} else if c&0x04 == Tuint32_t(0) {
 35717  							c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f
 35718  							eptr += uintptr(4)
 35719  						} else {
 35720  							c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr + 4)))&0x3f
 35721  							eptr += uintptr(5)
 35722  						}
 35723  					}
 35724  
 35725  					d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))
 35726  					if d >= 0xc0 {
 35727  						if d&0x20 == Tuint32_t(0) {
 35728  							d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))&0x3f
 35729  						} else if d&0x10 == Tuint32_t(0) {
 35730  							d = d&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f
 35731  							p += uintptr(2)
 35732  						} else if d&0x08 == Tuint32_t(0) {
 35733  							d = d&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f
 35734  							p += uintptr(3)
 35735  						} else if d&0x04 == Tuint32_t(0) {
 35736  							d = d&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 3)))&0x3f
 35737  							p += uintptr(4)
 35738  						} else {
 35739  							d = d&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 4)))&0x3f
 35740  							p += uintptr(5)
 35741  						}
 35742  					}
 35743  
 35744  				} else {
 35745  					c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1))))
 35746  					d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))
 35747  				}
 35748  
 35749  				ur = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(d)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(d)%DUCD_BLOCK_SIZE])*12
 35750  				if c != d && c != Tuint32_t(int32(d)+(*Tucd_record)(unsafe.Pointer(ur)).Fother_case) {
 35751  					var pp uintptr = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr((*Tucd_record)(unsafe.Pointer(ur)).Fcaseset)*4
 35752  					for {
 35753  						if c < *(*Tuint32_t)(unsafe.Pointer(pp)) {
 35754  							return -1
 35755  						} // No match
 35756  						if c == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&pp, 4))) {
 35757  							break
 35758  						}
 35759  					}
 35760  				}
 35761  			}
 35762  		} else {
 35763  			for ; length > uint64(0); length-- {
 35764  				var cc Tuint32_t
 35765  				var cp Tuint32_t
 35766  				if eptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject {
 35767  					return 1
 35768  				} // Partial match
 35769  				cc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(eptr)))
 35770  				cp = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))
 35771  				if int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(cp)))) != int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(cc)))) {
 35772  					return -1
 35773  				} // No match
 35774  				p++
 35775  				eptr++
 35776  			}
 35777  		}
 35778  	} else {
 35779  		if int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 {
 35780  			for ; length > uint64(0); length-- {
 35781  				if eptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject {
 35782  					return 1
 35783  				} // Partial match
 35784  				if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1)))) != int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&eptr, 1)))) {
 35785  					return -1
 35786  				} // No match
 35787  			}
 35788  		} else {
 35789  			if Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64(eptr))/1) < length {
 35790  				return 1
 35791  			} // Partial
 35792  			if libc.Xmemcmp(tls, p, eptr, length*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) != 0 {
 35793  				return -1
 35794  			} // No match
 35795  			eptr += TPCRE2_SPTR8(length)
 35796  		}
 35797  	}
 35798  
 35799  	*(*Tsize_t)(unsafe.Pointer(lengthptr)) = Tsize_t((int64(eptr) - int64(eptr_start)) / 1)
 35800  	return 0 // Match
 35801  }
 35802  
 35803  //*****************************************************************************
 35804  //
 35805  //                    "Recursion" in the match() function
 35806  //
 35807  // The original match() function was highly recursive, but this proved to be the
 35808  // source of a number of problems over the years, mostly because of the relatively
 35809  // small system stacks that are commonly found. As new features were added to
 35810  // patterns, various kludges were invented to reduce the amount of stack used,
 35811  // making the code hard to understand in places.
 35812  //
 35813  // A version did exist that used individual frames on the heap instead of calling
 35814  // match() recursively, but this ran substantially slower. The current version is
 35815  // a refactoring that uses a vector of frames to remember backtracking points.
 35816  // This runs no slower, and possibly even a bit faster than the original recursive
 35817  // implementation. An initial vector of size START_FRAMES_SIZE (enough for maybe
 35818  // 50 frames) is allocated on the system stack. If this is not big enough, the
 35819  // heap is used for a larger vector.
 35820  //
 35821  // *******************************************************************************
 35822  // *****************************************************************************
 35823  
 35824  // ************************************************
 35825  //
 35826  //       Macros for the match() function          *
 35827  //
 35828  
 35829  // These macros pack up tests that are used for partial matching several times
 35830  // in the code. The second one is used when we already know we are past the end of
 35831  // the subject. We set the "hit end" flag if the pointer is at the end of the
 35832  // subject and either (a) the pointer is past the earliest inspected character
 35833  // (i.e. something has been matched, even if not part of the actual matched
 35834  // string), or (b) the pattern contains a lookbehind. These are the conditions for
 35835  // which adding more characters may allow the current match to continue.
 35836  //
 35837  // For hard partial matching, we immediately return a partial match. Otherwise,
 35838  // carrying on means that a complete match on the current subject will be sought.
 35839  // A partial match is returned only if no complete match can be found.
 35840  
 35841  // These macros are used to implement backtracking. They simulate a recursive
 35842  // call to the match() function by means of a local vector of frames which
 35843  // remember the backtracking points.
 35844  
 35845  // ************************************************
 35846  //
 35847  //         Match from current position            *
 35848  //
 35849  
 35850  // This function is called to run one match attempt at a single starting point
 35851  // in the subject.
 35852  //
 35853  // Performance note: It might be tempting to extract commonly used fields from the
 35854  // mb structure (e.g. end_subject) into individual variables to improve
 35855  // performance. Tests using gcc on a SPARC disproved this; in the first case, it
 35856  // made performance worse.
 35857  //
 35858  // Arguments:
 35859  //    start_eptr   starting character in subject
 35860  //    start_ecode  starting position in compiled code
 35861  //    ovector      pointer to the final output vector
 35862  //    oveccount    number of pairs in ovector
 35863  //    top_bracket  number of capturing parentheses in the pattern
 35864  //    frame_size   size of each backtracking frame
 35865  //    mb           pointer to "static" variables block
 35866  //
 35867  // Returns:        MATCH_MATCH if matched            )  these values are >= 0
 35868  //                 MATCH_NOMATCH if failed to match  )
 35869  //                 negative MATCH_xxx value for PRUNE, SKIP, etc
 35870  //                 negative PCRE2_ERROR_xxx value if aborted by an error condition
 35871  //                 (e.g. stopped by repeated call or depth limit)
 35872  
 35873  func match(tls *libc.TLS, start_eptr TPCRE2_SPTR8, start_ecode TPCRE2_SPTR8, ovector uintptr, oveccount Tuint16_t, top_bracket Tuint16_t, frame_size Tsize_t, mb uintptr) int32 { /* pcre2_match.c:583:1: */
 35874  	bp := tls.Alloc(40)
 35875  	defer tls.Free(40)
 35876  
 35877  	// Frame-handling variables
 35878  
 35879  	var F uintptr // Current frame pointer
 35880  	var N uintptr // Temporary frame pointers
 35881  	var P uintptr
 35882  	var assert_accept_frame uintptr // For passing back a frame with captures
 35883  	var frame_copy_size Tsize_t     // Amount to copy when creating a new frame
 35884  
 35885  	// Local variables that do not need to be preserved over calls to RRMATCH().
 35886  
 35887  	var bracode TPCRE2_SPTR8 // Temp pointer to start of group
 35888  	var offset Tsize_t       // Used for group offsets
 35889  	// var length Tsize_t at bp, 8
 35890  	// Used for various length calculations
 35891  
 35892  	var rrc int32      // Return from functions & backtracking "recursions"
 35893  	var proptype int32 // Type of character property
 35894  
 35895  	var i Tuint32_t                // Used for local loops
 35896  	var fc Tuint32_t               // Character values
 35897  	var number Tuint32_t           // Used for group and other numbers
 35898  	var reptype Tuint32_t          // Type of repetition (0 to avoid compiler warning)
 35899  	var group_frame_type Tuint32_t // Specifies type for new group frames
 35900  
 35901  	var condition TBOOL    // Used in conditional groups
 35902  	var cur_is_word TBOOL  // Used in "word" tests
 35903  	var prev_is_word TBOOL // Used in "word" tests
 35904  
 35905  	// UTF and UCP flags
 35906  
 35907  	var utf TBOOL
 35908  	var ucp TBOOL
 35909  	var maxsize Tsize_t
 35910  	var newsize Tsize_t
 35911  	var new uintptr
 35912  	var cc Tuint32_t
 35913  	var dc Tuint32_t
 35914  	var cc1 Tuint32_t
 35915  	var ch Tuint32_t
 35916  	var ch1 Tuint32_t
 35917  	var ch2 Tuint32_t
 35918  	var othercase Tuint32_t
 35919  	var cc2 Tuint32_t
 35920  	var cc3 Tuint32_t
 35921  	var cc4 Tuint32_t
 35922  	var d Tuint32_t
 35923  	var d1 Tuint32_t
 35924  	var len int32
 35925  	var d2 Tuint32_t
 35926  	var d3 Tuint32_t
 35927  	var d4 Tuint32_t
 35928  	var len1 int32
 35929  	var d5 Tuint32_t
 35930  	var len2 int32
 35931  	var len3 int32
 35932  	var ok TBOOL
 35933  	var ok1 TBOOL
 35934  	var cp uintptr
 35935  	var prop uintptr
 35936  	var notmatch TBOOL
 35937  	var chartype int32
 35938  	var ok2 TBOOL
 35939  	var prop1 uintptr
 35940  	var category int32
 35941  	var category1 int32
 35942  	var cp1 uintptr
 35943  	var ok3 TBOOL
 35944  	var prop2 uintptr
 35945  	var notmatch1 TBOOL
 35946  	var cc5 Tuint32_t
 35947  	var cc6 Tuint32_t
 35948  	var cc7 Tuint32_t
 35949  	var cc8 Tuint32_t
 35950  	var cc9 Tuint32_t
 35951  	var chartype1 int32
 35952  	var ok4 TBOOL
 35953  	var prop3 uintptr
 35954  	var category2 int32
 35955  	var category3 int32
 35956  	var cp2 uintptr
 35957  	var ok5 TBOOL
 35958  	var prop4 uintptr
 35959  	var len4 int32
 35960  	var chartype2 int32
 35961  	var len5 int32
 35962  	var len6 int32
 35963  	var len7 int32
 35964  	var len8 int32
 35965  	var ok6 TBOOL
 35966  	var prop5 uintptr
 35967  	var len9 int32
 35968  	var category4 int32
 35969  	var len10 int32
 35970  	var len11 int32
 35971  	var category5 int32
 35972  	var len12 int32
 35973  	var cp3 uintptr
 35974  	var len13 int32
 35975  	var len14 int32
 35976  	var len15 int32
 35977  	var ok7 TBOOL
 35978  	var prop6 uintptr
 35979  	var len16 int32
 35980  	var notmatch2 TBOOL
 35981  	var lgb int32
 35982  	var rgb int32
 35983  	var fptr TPCRE2_SPTR8
 35984  	var len17 int32
 35985  	var gotspace TBOOL
 35986  	var len18 int32
 35987  	var gotspace1 TBOOL
 35988  	var len19 int32
 35989  	var len20 int32
 35990  	var len21 int32
 35991  	var len22 int32
 35992  	var len23 int32
 35993  	var len24 int32
 35994  	var len25 int32
 35995  	var count int32
 35996  	var slot TPCRE2_SPTR8
 35997  	// var slength Tsize_t at bp+8, 8
 35998  
 35999  	// var slength1 Tsize_t at bp+16, 8
 36000  
 36001  	// var slength2 Tsize_t at bp+24, 8
 36002  
 36003  	// var slength3 Tsize_t at bp+32, 8
 36004  
 36005  	var samelengths TBOOL
 36006  	var next_ecode TPCRE2_SPTR8
 36007  	var next_ecode1 TPCRE2_SPTR8
 36008  	var next_ecode2 TPCRE2_SPTR8
 36009  	var count1 int32
 36010  	var slot1 TPCRE2_SPTR8
 36011  	var count2 int32
 36012  	var slot2 TPCRE2_SPTR8
 36013  	var y Tuint32_t
 36014  	var cat int32
 36015  	var lastptr TPCRE2_SPTR8
 36016  	var cat1 int32
 36017  	var nextptr TPCRE2_SPTR8
 36018  	N = uintptr(0)
 36019  	P = uintptr(0)
 36020  	assert_accept_frame = uintptr(0)
 36021  	reptype = Tuint32_t(0)
 36022  	utf = libc.Bool32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UTF != Tuint32_t(0))
 36023  	ucp = libc.Bool32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0))
 36024  
 36025  	// This is the length of the last part of a backtracking frame that must be
 36026  	// copied when a new frame is created.
 36027  
 36028  	frame_copy_size = frame_size - Tsize_t(uintptr(0)+80)
 36029  
 36030  	// Set up the first current frame at the start of the vector, and initialize
 36031  	// fields that are not reset for new frames.
 36032  
 36033  	F = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames
 36034  	(*Theapframe)(unsafe.Pointer(F)).Frdepth = Tuint32_t(0)                                 // "Recursion" depth
 36035  	(*Theapframe)(unsafe.Pointer(F)).Fcapture_last = Tuint32_t(0)                           // Number of most recent capture
 36036  	(*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse = DRECURSE_UNSET                      // Not pattern recursing.
 36037  	(*Theapframe)(unsafe.Pointer(F)).Fstart_match = libc.AssignPtrUintptr(F+80, start_eptr) // Current data pointer and start match
 36038  	(*Theapframe)(unsafe.Pointer(F)).Fmark = uintptr(0)                                     // Most recent mark
 36039  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = uint64(0)                                // End of captures within the frame
 36040  	(*Theapframe)(unsafe.Pointer(F)).Flast_group_offset = libc.CplUint64(uint64(0))         // Saved frame of most recent group
 36041  	group_frame_type = Tuint32_t(0)                                                         // Not a start of group frame
 36042  	goto NEW_FRAME                                                                          // Start processing with this frame
 36043  
 36044  	// Come back here when we want to create a new frame for remembering a
 36045  	// backtracking point.
 36046  
 36047  MATCH_RECURSE:
 36048  
 36049  	// Set up a new backtracking frame. If the vector is full, get a new one
 36050  	// on the heap, doubling the size, but constrained by the heap limit.
 36051  
 36052  	N = F + uintptr(frame_size)
 36053  	if !(N >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames_top) {
 36054  		goto __1
 36055  	}
 36056  
 36057  	newsize = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size * uint64(2)
 36058  
 36059  	if !(newsize/uint64(1024) > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit) {
 36060  		goto __2
 36061  	}
 36062  
 36063  	maxsize = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit * uint64(1024) / frame_size * frame_size
 36064  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size >= maxsize) {
 36065  		goto __3
 36066  	}
 36067  	return -63
 36068  __3:
 36069  	;
 36070  	newsize = maxsize
 36071  __2:
 36072  	;
 36073  
 36074  	new = (*struct {
 36075  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 36076  	})(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmalloc})).f(tls, newsize, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 36077  	if !(new == uintptr(0)) {
 36078  		goto __4
 36079  	}
 36080  	return -48
 36081  __4:
 36082  	;
 36083  	libc.Xmemcpy(tls, new, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size)
 36084  
 36085  	F = new + uintptr((int64(F)-int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames))/1)
 36086  	N = F + uintptr(frame_size)
 36087  
 36088  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames) {
 36089  		goto __5
 36090  	}
 36091  	(*struct {
 36092  		f func(*libc.TLS, uintptr, uintptr)
 36093  	})(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Ffree})).f(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 36094  __5:
 36095  	;
 36096  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames = new
 36097  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames_top = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(newsize)
 36098  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = newsize
 36099  __1:
 36100  	;
 36101  
 36102  	// Copy those fields that must be copied into the new frame, increase the
 36103  	// "recursion" depth (i.e. the new frame's index) and then make the new frame
 36104  	// current.
 36105  
 36106  	libc.Xmemcpy(tls, N+uintptr(uint64(uintptr(0)+80)),
 36107  		F+uintptr(uint64(uintptr(0)+80)),
 36108  		frame_copy_size)
 36109  
 36110  	(*Theapframe)(unsafe.Pointer(N)).Frdepth = (*Theapframe)(unsafe.Pointer(F)).Frdepth + Tuint32_t(1)
 36111  	F = N
 36112  
 36113  	// Carry on processing with a new frame.
 36114  
 36115  NEW_FRAME:
 36116  	(*Theapframe)(unsafe.Pointer(F)).Fgroup_frame_type = group_frame_type
 36117  	(*Theapframe)(unsafe.Pointer(F)).Fecode = start_ecode     // Starting code pointer
 36118  	(*Theapframe)(unsafe.Pointer(F)).Fback_frame = frame_size // Default is go back one frame
 36119  
 36120  	// If this is a special type of group frame, remember its offset for quick
 36121  	// access at the end of the group. If this is a recursion, set a new current
 36122  	// recursion value.
 36123  
 36124  	if !(group_frame_type != Tuint32_t(0)) {
 36125  		goto __6
 36126  	}
 36127  
 36128  	(*Theapframe)(unsafe.Pointer(F)).Flast_group_offset = Tsize_t((int64(F) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames)) / 1)
 36129  	if !(group_frame_type&0xffff0000 == DGF_RECURSE) {
 36130  		goto __7
 36131  	}
 36132  	(*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse = group_frame_type & 0x0000ffff
 36133  __7:
 36134  	;
 36135  	group_frame_type = Tuint32_t(0)
 36136  __6:
 36137  	;
 36138  
 36139  	// =========================================================================
 36140  	// This is the main processing loop. First check that we haven't recorded too
 36141  	// many backtracks (search tree is too large), or that we haven't exceeded the
 36142  	// recursive depth limit (used too many backtracking frames). If not, process the
 36143  	// opcodes.
 36144  
 36145  	if !(libc.PostIncUint32(&(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_call_count, 1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit) {
 36146  		goto __8
 36147  	}
 36148  	return -47
 36149  __8:
 36150  	;
 36151  	if !((*Theapframe)(unsafe.Pointer(F)).Frdepth >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth) {
 36152  		goto __9
 36153  	}
 36154  	return -53
 36155  __9:
 36156  	;
 36157  
 36158  __10:
 36159  
 36160  	(*Theapframe)(unsafe.Pointer(F)).Fop = *(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)) // Cast needed for 16-bit and 32-bit modes
 36161  	switch int32((*Theapframe)(unsafe.Pointer(F)).Fop) {
 36162  	// =====================================================================
 36163  	// Before OP_ACCEPT there may be any number of OP_CLOSE opcodes, to close
 36164  	//     any currently open capturing brackets. Unlike reaching the end of a group,
 36165  	//     where we know the starting frame is at the top of the chained frames, in
 36166  	//     this case we have to search back for the relevant frame in case other types
 36167  	//     of group that use chained frames have intervened. Multiple OP_CLOSEs always
 36168  	//     come innermost first, which matches the chain order. We can ignore this in
 36169  	//     a recursion, because captures are not passed out of recursions.
 36170  
 36171  	case OP_CLOSE:
 36172  		goto __14
 36173  
 36174  	// =====================================================================
 36175  	// Real or forced end of the pattern, assertion, or recursion. In an
 36176  	//     assertion ACCEPT, update the last used pointer and remember the current
 36177  	//     frame so that the captures and mark can be fished out of it.
 36178  
 36179  	case OP_ASSERT_ACCEPT:
 36180  		goto __15
 36181  
 36182  	// If recursing, we have to find the most recent recursion.
 36183  
 36184  	case OP_ACCEPT:
 36185  		goto __16
 36186  	case OP_END:
 36187  		goto __17 // Note: NOT RRETURN
 36188  
 36189  	//=====================================================================
 36190  	// Match any single character type except newline; have to take care with
 36191  	//     CRLF newlines and partial matching.
 36192  
 36193  	case OP_ANY:
 36194  		goto __18
 36195  	// Fall through
 36196  
 36197  	// Match any single character whatsoever.
 36198  
 36199  	case OP_ALLANY:
 36200  		goto __19
 36201  
 36202  	// =====================================================================
 36203  	// Match a single code unit, even in UTF mode. This opcode really does
 36204  	//     match any code unit, even newline. (It really should be called ANYCODEUNIT,
 36205  	//     of course - the byte name is from pre-16 bit days.)
 36206  
 36207  	case OP_ANYBYTE:
 36208  		goto __20
 36209  
 36210  	// =====================================================================
 36211  	// Match a single character, casefully
 36212  
 36213  	case OP_CHAR:
 36214  		goto __21
 36215  
 36216  	// =====================================================================
 36217  	// Match a single character, caselessly. If we are at the end of the
 36218  	//     subject, give up immediately. We get here only when the pattern character
 36219  	//     has at most one other case. Characters with more than two cases are coded
 36220  	//     as OP_PROP with the pseudo-property PT_CLIST.
 36221  
 36222  	case OP_CHARI:
 36223  		goto __22
 36224  
 36225  	// =====================================================================
 36226  	// Match not a single character.
 36227  
 36228  	case OP_NOT:
 36229  		goto __23
 36230  	case OP_NOTI:
 36231  		goto __24
 36232  
 36233  	// =====================================================================
 36234  	// Match a single character repeatedly.
 36235  
 36236  	case OP_EXACT:
 36237  		goto __25
 36238  	case OP_EXACTI:
 36239  		goto __26
 36240  
 36241  	case OP_POSUPTO:
 36242  		goto __27
 36243  	case OP_POSUPTOI:
 36244  		goto __28
 36245  
 36246  	case OP_UPTO:
 36247  		goto __29
 36248  	case OP_UPTOI:
 36249  		goto __30
 36250  
 36251  	case OP_MINUPTO:
 36252  		goto __31
 36253  	case OP_MINUPTOI:
 36254  		goto __32
 36255  
 36256  	case OP_POSSTAR:
 36257  		goto __33
 36258  	case OP_POSSTARI:
 36259  		goto __34
 36260  
 36261  	case OP_POSPLUS:
 36262  		goto __35
 36263  	case OP_POSPLUSI:
 36264  		goto __36
 36265  
 36266  	case OP_POSQUERY:
 36267  		goto __37
 36268  	case OP_POSQUERYI:
 36269  		goto __38
 36270  
 36271  	case OP_STAR:
 36272  		goto __39
 36273  	case OP_STARI:
 36274  		goto __40
 36275  	case OP_MINSTAR:
 36276  		goto __41
 36277  	case OP_MINSTARI:
 36278  		goto __42
 36279  	case OP_PLUS:
 36280  		goto __43
 36281  	case OP_PLUSI:
 36282  		goto __44
 36283  	case OP_MINPLUS:
 36284  		goto __45
 36285  	case OP_MINPLUSI:
 36286  		goto __46
 36287  	case OP_QUERY:
 36288  		goto __47
 36289  	case OP_QUERYI:
 36290  		goto __48
 36291  	case OP_MINQUERY:
 36292  		goto __49
 36293  	case OP_MINQUERYI:
 36294  		goto __50
 36295  
 36296  	// =====================================================================
 36297  	// Match a negated single one-byte character repeatedly. This is almost a
 36298  	//     repeat of the code for a repeated single character, but I haven't found a
 36299  	//     nice way of commoning these up that doesn't require a test of the
 36300  	//     positive/negative option for each character match. Maybe that wouldn't add
 36301  	//     very much to the time taken, but character matching *is* what this is all
 36302  	//     about...
 36303  
 36304  	case OP_NOTEXACT:
 36305  		goto __51
 36306  	case OP_NOTEXACTI:
 36307  		goto __52
 36308  
 36309  	case OP_NOTUPTO:
 36310  		goto __53
 36311  	case OP_NOTUPTOI:
 36312  		goto __54
 36313  
 36314  	case OP_NOTMINUPTO:
 36315  		goto __55
 36316  	case OP_NOTMINUPTOI:
 36317  		goto __56
 36318  
 36319  	case OP_NOTPOSSTAR:
 36320  		goto __57
 36321  	case OP_NOTPOSSTARI:
 36322  		goto __58
 36323  
 36324  	case OP_NOTPOSPLUS:
 36325  		goto __59
 36326  	case OP_NOTPOSPLUSI:
 36327  		goto __60
 36328  
 36329  	case OP_NOTPOSQUERY:
 36330  		goto __61
 36331  	case OP_NOTPOSQUERYI:
 36332  		goto __62
 36333  
 36334  	case OP_NOTPOSUPTO:
 36335  		goto __63
 36336  	case OP_NOTPOSUPTOI:
 36337  		goto __64
 36338  
 36339  	case OP_NOTSTAR:
 36340  		goto __65
 36341  	case OP_NOTSTARI:
 36342  		goto __66
 36343  	case OP_NOTMINSTAR:
 36344  		goto __67
 36345  	case OP_NOTMINSTARI:
 36346  		goto __68
 36347  	case OP_NOTPLUS:
 36348  		goto __69
 36349  	case OP_NOTPLUSI:
 36350  		goto __70
 36351  	case OP_NOTMINPLUS:
 36352  		goto __71
 36353  	case OP_NOTMINPLUSI:
 36354  		goto __72
 36355  	case OP_NOTQUERY:
 36356  		goto __73
 36357  	case OP_NOTQUERYI:
 36358  		goto __74
 36359  	case OP_NOTMINQUERY:
 36360  		goto __75
 36361  	case OP_NOTMINQUERYI:
 36362  		goto __76
 36363  
 36364  	// =====================================================================
 36365  	// Match a bit-mapped character class, possibly repeatedly. These opcodes
 36366  	//     are used when all the characters in the class have values in the range
 36367  	//     0-255, and either the matching is caseful, or the characters are in the
 36368  	//     range 0-127 when UTF processing is enabled. The only difference between
 36369  	//     OP_CLASS and OP_NCLASS occurs when a data character outside the range is
 36370  	//     encountered.
 36371  
 36372  	case OP_NCLASS:
 36373  		goto __77
 36374  	case OP_CLASS:
 36375  		goto __78
 36376  	// Control never gets here
 36377  
 36378  	// =====================================================================
 36379  	// Match an extended character class. In the 8-bit library, this opcode is
 36380  	//     encountered only when UTF-8 mode mode is supported. In the 16-bit and
 36381  	//     32-bit libraries, codepoints greater than 255 may be encountered even when
 36382  	//     UTF is not supported.
 36383  
 36384  	case OP_XCLASS:
 36385  		goto __79
 36386  
 36387  	// =====================================================================
 36388  	// Match various character types when PCRE2_UCP is not set. These opcodes
 36389  	//     are not generated when PCRE2_UCP is set - instead appropriate property
 36390  	//     tests are compiled.
 36391  
 36392  	case OP_NOT_DIGIT:
 36393  		goto __80
 36394  
 36395  	case OP_DIGIT:
 36396  		goto __81
 36397  
 36398  	case OP_NOT_WHITESPACE:
 36399  		goto __82
 36400  
 36401  	case OP_WHITESPACE:
 36402  		goto __83
 36403  
 36404  	case OP_NOT_WORDCHAR:
 36405  		goto __84
 36406  
 36407  	case OP_WORDCHAR:
 36408  		goto __85
 36409  
 36410  	case OP_ANYNL:
 36411  		goto __86
 36412  
 36413  	case OP_NOT_HSPACE:
 36414  		goto __87
 36415  
 36416  	case OP_HSPACE:
 36417  		goto __88
 36418  
 36419  	case OP_NOT_VSPACE:
 36420  		goto __89
 36421  
 36422  	case OP_VSPACE:
 36423  		goto __90
 36424  
 36425  	// =====================================================================
 36426  	// Check the next character by Unicode property. We will get here only
 36427  	//     if the support is in the binary; otherwise a compile-time error occurs.
 36428  
 36429  	case OP_PROP:
 36430  		goto __91
 36431  	case OP_NOTPROP:
 36432  		goto __92
 36433  
 36434  	// =====================================================================
 36435  	// Match an extended Unicode sequence. We will get here only if the support
 36436  	//     is in the binary; otherwise a compile-time error occurs.
 36437  
 36438  	case OP_EXTUNI:
 36439  		goto __93
 36440  
 36441  	// =====================================================================
 36442  	// Match a single character type repeatedly. Note that the property type
 36443  	//     does not need to be in a stack frame as it is not used within an RMATCH()
 36444  	//     loop.
 36445  
 36446  	case OP_TYPEEXACT:
 36447  		goto __94
 36448  
 36449  	case OP_TYPEUPTO:
 36450  		goto __95
 36451  	case OP_TYPEMINUPTO:
 36452  		goto __96
 36453  
 36454  	case OP_TYPEPOSSTAR:
 36455  		goto __97
 36456  
 36457  	case OP_TYPEPOSPLUS:
 36458  		goto __98
 36459  
 36460  	case OP_TYPEPOSQUERY:
 36461  		goto __99
 36462  
 36463  	case OP_TYPEPOSUPTO:
 36464  		goto __100
 36465  
 36466  	case OP_TYPESTAR:
 36467  		goto __101
 36468  	case OP_TYPEMINSTAR:
 36469  		goto __102
 36470  	case OP_TYPEPLUS:
 36471  		goto __103
 36472  	case OP_TYPEMINPLUS:
 36473  		goto __104
 36474  	case OP_TYPEQUERY:
 36475  		goto __105
 36476  	case OP_TYPEMINQUERY:
 36477  		goto __106 // End of repeat character type processing
 36478  
 36479  	// =====================================================================
 36480  	// Match a back reference, possibly repeatedly. Look past the end of the
 36481  	//     item to see if there is repeat information following. The OP_REF and
 36482  	//     OP_REFI opcodes are used for a reference to a numbered group or to a
 36483  	//     non-duplicated named group. For a duplicated named group, OP_DNREF and
 36484  	//     OP_DNREFI are used. In this case we must scan the list of groups to which
 36485  	//     the name refers, and use the first one that is set.
 36486  
 36487  	case OP_DNREF:
 36488  		goto __107
 36489  	case OP_DNREFI:
 36490  		goto __108
 36491  
 36492  	case OP_REF:
 36493  		goto __109
 36494  	case OP_REFI:
 36495  		goto __110
 36496  	// Control never gets here
 36497  
 36498  	// =========================================================================
 36499  	//           Opcodes for the start of various parenthesized items
 36500  	// =========================================================================
 36501  
 36502  	// In all cases, if the result of RMATCH() is MATCH_THEN, check whether the
 36503  	//     (*THEN) is within the current branch by comparing the address of OP_THEN
 36504  	//     that is passed back with the end of the branch. If (*THEN) is within the
 36505  	//     current branch, and the branch is one of two or more alternatives (it
 36506  	//     either starts or ends with OP_ALT), we have reached the limit of THEN's
 36507  	//     action, so convert the return code to NOMATCH, which will cause normal
 36508  	//     backtracking to happen from now on. Otherwise, THEN is passed back to an
 36509  	//     outer alternative. This implements Perl's treatment of parenthesized
 36510  	//     groups, where a group not containing | does not affect the current
 36511  	//     alternative, that is, (X) is NOT the same as (X|(*F)).
 36512  
 36513  	// =====================================================================
 36514  	// BRAZERO, BRAMINZERO and SKIPZERO occur just before a non-possessive
 36515  	//     bracket group, indicating that it may occur zero times. It may repeat
 36516  	//     infinitely, or not at all - i.e. it could be ()* or ()? or even (){0} in
 36517  	//     the pattern. Brackets with fixed upper repeat limits are compiled as a
 36518  	//     number of copies, with the optional ones preceded by BRAZERO or BRAMINZERO.
 36519  	//     Possessive groups with possible zero repeats are preceded by BRAPOSZERO.
 36520  
 36521  	case OP_BRAZERO:
 36522  		goto __111
 36523  
 36524  	case OP_BRAMINZERO:
 36525  		goto __112
 36526  
 36527  	case OP_SKIPZERO:
 36528  		goto __113
 36529  
 36530  	// =====================================================================
 36531  	// Handle possessive brackets with an unlimited repeat. The end of these
 36532  	//     brackets will always be OP_KETRPOS, which returns MATCH_KETRPOS without
 36533  	//     going further in the pattern.
 36534  
 36535  	case OP_BRAPOSZERO:
 36536  		goto __114
 36537  
 36538  	case OP_BRAPOS:
 36539  		goto __115
 36540  	case OP_SBRAPOS:
 36541  		goto __116
 36542  
 36543  	case OP_CBRAPOS:
 36544  		goto __117
 36545  	case OP_SCBRAPOS:
 36546  		goto __118
 36547  
 36548  	// =====================================================================
 36549  	// Handle non-capturing brackets that cannot match an empty string. When we
 36550  	//     get to the final alternative within the brackets, as long as there are no
 36551  	//     THEN's in the pattern, we can optimize by not recording a new backtracking
 36552  	//     point. (Ideally we should test for a THEN within this group, but we don't
 36553  	//     have that information.) Don't do this if we are at the very top level,
 36554  	//     however, because that would make handling assertions and once-only brackets
 36555  	//     messier when there is nothing to go back to.
 36556  
 36557  	case OP_BRA:
 36558  		goto __119
 36559  
 36560  	// =====================================================================
 36561  	// Handle a capturing bracket, other than those that are possessive with an
 36562  	//     unlimited repeat.
 36563  
 36564  	case OP_CBRA:
 36565  		goto __120
 36566  	case OP_SCBRA:
 36567  		goto __121
 36568  
 36569  	// =====================================================================
 36570  	// Atomic groups and non-capturing brackets that can match an empty string
 36571  	//     must record a backtracking point and also set up a chained frame.
 36572  
 36573  	case OP_ONCE:
 36574  		goto __122
 36575  	case OP_SCRIPT_RUN:
 36576  		goto __123
 36577  	case OP_SBRA:
 36578  		goto __124
 36579  	// Control never reaches here.
 36580  
 36581  	// =====================================================================
 36582  	// Recursion either matches the current regex, or some subexpression. The
 36583  	//     offset data is the offset to the starting bracket from the start of the
 36584  	//     whole pattern. (This is so that it works from duplicated subpatterns.)
 36585  
 36586  	case OP_RECURSE:
 36587  		goto __125
 36588  	// Control never reaches here.
 36589  
 36590  	// =====================================================================
 36591  	// Positive assertions are like other groups except that PCRE doesn't allow
 36592  	//     the effect of (*THEN) to escape beyond an assertion; it is therefore
 36593  	//     treated as NOMATCH. (*ACCEPT) is treated as successful assertion, with its
 36594  	//     captures and mark retained. Any other return is an error.
 36595  
 36596  	case OP_ASSERT:
 36597  		goto __126
 36598  	case OP_ASSERTBACK:
 36599  		goto __127
 36600  	case OP_ASSERT_NA:
 36601  		goto __128
 36602  	case OP_ASSERTBACK_NA:
 36603  		goto __129
 36604  
 36605  	// =====================================================================
 36606  	// Handle negative assertions. Loop for each non-matching branch as for
 36607  	//     positive assertions.
 36608  
 36609  	case OP_ASSERT_NOT:
 36610  		goto __130
 36611  	case OP_ASSERTBACK_NOT:
 36612  		goto __131
 36613  
 36614  	// =====================================================================
 36615  	// The callout item calls an external function, if one is provided, passing
 36616  	//     details of the match so far. This is mainly for debugging, though the
 36617  	//     function is able to force a failure.
 36618  
 36619  	case OP_CALLOUT:
 36620  		goto __132
 36621  	case OP_CALLOUT_STR:
 36622  		goto __133
 36623  
 36624  	// =====================================================================
 36625  	// Conditional group: compilation checked that there are no more than two
 36626  	//     branches. If the condition is false, skipping the first branch takes us
 36627  	//     past the end of the item if there is only one branch, but that's exactly
 36628  	//     what we want.
 36629  
 36630  	case OP_COND:
 36631  		goto __134
 36632  	case OP_SCOND:
 36633  		goto __135
 36634  
 36635  		// =========================================================================
 36636  		//                  End of start of parenthesis opcodes
 36637  		// =========================================================================
 36638  
 36639  	// =====================================================================
 36640  	// Move the subject pointer back. This occurs only at the start of each
 36641  	//     branch of a lookbehind assertion. If we are too close to the start to move
 36642  	//     back, fail. When working with UTF-8 we move back a number of characters,
 36643  	//     not bytes.
 36644  
 36645  	case OP_REVERSE:
 36646  		goto __136
 36647  
 36648  	// =====================================================================
 36649  	// An alternation is the end of a branch; scan along to find the end of the
 36650  	//     bracketed group.
 36651  
 36652  	case OP_ALT:
 36653  		goto __137
 36654  
 36655  	// =====================================================================
 36656  	// The end of a parenthesized group. For all but OP_BRA and OP_COND, the
 36657  	//     starting frame was added to the chained frames in order to remember the
 36658  	//     starting subject position for the group.
 36659  
 36660  	case OP_KET:
 36661  		goto __138
 36662  	case OP_KETRMIN:
 36663  		goto __139
 36664  	case OP_KETRMAX:
 36665  		goto __140
 36666  	case OP_KETRPOS:
 36667  		goto __141
 36668  
 36669  	// =====================================================================
 36670  	// Start and end of line assertions, not multiline mode.
 36671  
 36672  	case OP_CIRC:
 36673  		goto __142
 36674  
 36675  	case OP_SOD:
 36676  		goto __143
 36677  
 36678  	// When PCRE2_NOTEOL is unset, assert before the subject end, or a
 36679  	//     terminating newline unless PCRE2_DOLLAR_ENDONLY is set.
 36680  
 36681  	case OP_DOLL:
 36682  		goto __144
 36683  
 36684  	// Fall through
 36685  	// Unconditional end of subject assertion (\z)
 36686  
 36687  	case OP_EOD:
 36688  		goto __145
 36689  
 36690  	// End of subject or ending \n assertion (\Z)
 36691  
 36692  	case OP_EODN:
 36693  		goto __146
 36694  
 36695  	// =====================================================================
 36696  	// Start and end of line assertions, multiline mode.
 36697  
 36698  	// Start of subject unless notbol, or after any newline except for one at
 36699  	//     the very end, unless PCRE2_ALT_CIRCUMFLEX is set.
 36700  
 36701  	case OP_CIRCM:
 36702  		goto __147
 36703  
 36704  	// Assert before any newline, or before end of subject unless noteol is
 36705  	//     set.
 36706  
 36707  	case OP_DOLLM:
 36708  		goto __148
 36709  
 36710  	// =====================================================================
 36711  	// Start of match assertion
 36712  
 36713  	case OP_SOM:
 36714  		goto __149
 36715  
 36716  	// =====================================================================
 36717  	// Reset the start of match point
 36718  
 36719  	case OP_SET_SOM:
 36720  		goto __150
 36721  
 36722  	// =====================================================================
 36723  	// Word boundary assertions. Find out if the previous and current
 36724  	//     characters are "word" characters. It takes a bit more work in UTF mode.
 36725  	//     Characters > 255 are assumed to be "non-word" characters when PCRE2_UCP is
 36726  	//     not set. When it is set, use Unicode properties if available, even when not
 36727  	//     in UTF mode. Remember the earliest and latest consulted characters.
 36728  
 36729  	case OP_NOT_WORD_BOUNDARY:
 36730  		goto __151
 36731  	case OP_WORD_BOUNDARY:
 36732  		goto __152
 36733  
 36734  	// =====================================================================
 36735  	// Backtracking (*VERB)s, with and without arguments. Note that if the
 36736  	//     pattern is successfully matched, we do not come back from RMATCH.
 36737  
 36738  	case OP_MARK:
 36739  		goto __153
 36740  
 36741  	case OP_FAIL:
 36742  		goto __154
 36743  
 36744  	// Record the current recursing group number in mb->verb_current_recurse
 36745  	//     when a backtracking return such as MATCH_COMMIT is given. This enables the
 36746  	//     recurse processing to catch verbs from within the recursion.
 36747  
 36748  	case OP_COMMIT:
 36749  		goto __155
 36750  
 36751  	case OP_COMMIT_ARG:
 36752  		goto __156
 36753  
 36754  	case OP_PRUNE:
 36755  		goto __157
 36756  
 36757  	case OP_PRUNE_ARG:
 36758  		goto __158
 36759  
 36760  	case OP_SKIP:
 36761  		goto __159
 36762  
 36763  	// Note that, for Perl compatibility, SKIP with an argument does NOT set
 36764  	//     nomatch_mark. When a pattern match ends with a SKIP_ARG for which there was
 36765  	//     not a matching mark, we have to re-run the match, ignoring the SKIP_ARG
 36766  	//     that failed and any that precede it (either they also failed, or were not
 36767  	//     triggered). To do this, we maintain a count of executed SKIP_ARGs. If a
 36768  	//     SKIP_ARG gets to top level, the match is re-run with mb->ignore_skip_arg
 36769  	//     set to the count of the one that failed.
 36770  
 36771  	case OP_SKIP_ARG:
 36772  		goto __160
 36773  
 36774  	// For THEN (and THEN_ARG) we pass back the address of the opcode, so that
 36775  	//     the branch in which it occurs can be determined.
 36776  
 36777  	case OP_THEN:
 36778  		goto __161
 36779  
 36780  	case OP_THEN_ARG:
 36781  		goto __162
 36782  
 36783  	// =====================================================================
 36784  	// There's been some horrible disaster. Arrival here can only mean there is
 36785  	//     something seriously wrong in the code above or the OP_xxx definitions.
 36786  
 36787  	default:
 36788  		goto __163
 36789  	}
 36790  	goto __13
 36791  
 36792  	// =====================================================================
 36793  	// Before OP_ACCEPT there may be any number of OP_CLOSE opcodes, to close
 36794  	//     any currently open capturing brackets. Unlike reaching the end of a group,
 36795  	//     where we know the starting frame is at the top of the chained frames, in
 36796  	//     this case we have to search back for the relevant frame in case other types
 36797  	//     of group that use chained frames have intervened. Multiple OP_CLOSEs always
 36798  	//     come innermost first, which matches the chain order. We can ignore this in
 36799  	//     a recursion, because captures are not passed out of recursions.
 36800  
 36801  __14:
 36802  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse == DRECURSE_UNSET) {
 36803  		goto __164
 36804  	}
 36805  
 36806  	number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 36807  	offset = (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset
 36808  __165:
 36809  
 36810  	if !(offset == libc.CplUint64(uint64(0))) {
 36811  		goto __168
 36812  	}
 36813  	return -44
 36814  __168:
 36815  	;
 36816  	N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(offset)
 36817  	P = N - uintptr(frame_size)
 36818  	if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type == DGF_CAPTURE|number) {
 36819  		goto __169
 36820  	}
 36821  	goto __167
 36822  __169:
 36823  	;
 36824  	offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset
 36825  	goto __166
 36826  __166:
 36827  	goto __165
 36828  	goto __167
 36829  __167:
 36830  	;
 36831  	offset = Tsize_t(number<<1 - Tuint32_t(2))
 36832  	(*Theapframe)(unsafe.Pointer(F)).Fcapture_last = number
 36833  	*(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(P)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 36834  	*(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset+uint64(1))*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 36835  	if !(offset >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top) {
 36836  		goto __170
 36837  	}
 36838  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = offset + uint64(2)
 36839  __170:
 36840  	;
 36841  __164:
 36842  	;
 36843  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 36844  	goto __13
 36845  
 36846  	// =====================================================================
 36847  	// Real or forced end of the pattern, assertion, or recursion. In an
 36848  	//     assertion ACCEPT, update the last used pointer and remember the current
 36849  	//     frame so that the captures and mark can be fished out of it.
 36850  
 36851  __15:
 36852  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 36853  		goto __171
 36854  	}
 36855  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 36856  __171:
 36857  	;
 36858  	assert_accept_frame = F
 36859  	rrc = -999
 36860  	goto RETURN_SWITCH
 36861  
 36862  	// If recursing, we have to find the most recent recursion.
 36863  
 36864  __16:
 36865  __17:
 36866  
 36867  	// Handle end of a recursion.
 36868  
 36869  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) {
 36870  		goto __172
 36871  	}
 36872  
 36873  	offset = (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset
 36874  __173:
 36875  
 36876  	if !(offset == libc.CplUint64(uint64(0))) {
 36877  		goto __176
 36878  	}
 36879  	return -44
 36880  __176:
 36881  	;
 36882  	N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(offset)
 36883  	P = N - uintptr(frame_size)
 36884  	if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type&0xffff0000 == DGF_RECURSE) {
 36885  		goto __177
 36886  	}
 36887  	goto __175
 36888  __177:
 36889  	;
 36890  	offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset
 36891  	goto __174
 36892  __174:
 36893  	goto __173
 36894  	goto __175
 36895  __175:
 36896  	;
 36897  
 36898  	// N is now the frame of the recursion; the previous frame is at the
 36899  	//       OP_RECURSE position. Go back there, copying the current subject position
 36900  	//       and mark, and the start_match position (\K might have changed it), and
 36901  	//       then move on past the OP_RECURSE.
 36902  
 36903  	(*Theapframe)(unsafe.Pointer(P)).Feptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 36904  	(*Theapframe)(unsafe.Pointer(P)).Fmark = (*Theapframe)(unsafe.Pointer(F)).Fmark
 36905  	(*Theapframe)(unsafe.Pointer(P)).Fstart_match = (*Theapframe)(unsafe.Pointer(F)).Fstart_match
 36906  	F = P
 36907  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 36908  	goto __11
 36909  __172:
 36910  	;
 36911  
 36912  	// Not a recursion. Fail for an empty string match if either PCRE2_NOTEMPTY
 36913  	//     is set, or if PCRE2_NOTEMPTY_ATSTART is set and we have matched at the
 36914  	//     start of the subject. In both cases, backtracking will then try other
 36915  	//     alternatives, if any.
 36916  
 36917  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == (*Theapframe)(unsafe.Pointer(F)).Fstart_match && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEMPTY != Tuint32_t(0) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEMPTY_ATSTART != Tuint32_t(0) && (*Theapframe)(unsafe.Pointer(F)).Fstart_match == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_offset))) {
 36918  		goto __178
 36919  	}
 36920  	rrc = DMATCH_NOMATCH
 36921  	goto RETURN_SWITCH
 36922  __178:
 36923  	;
 36924  
 36925  	// Also fail if PCRE2_ENDANCHORED is set and the end of the match is not
 36926  	//     the end of the subject. After (*ACCEPT) we fail the entire match (at this
 36927  	//     position) but backtrack on reaching the end of the pattern.
 36928  
 36929  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions|(*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions)&DPCRE2_ENDANCHORED != Tuint32_t(0)) {
 36930  		goto __179
 36931  	}
 36932  
 36933  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_END) {
 36934  		goto __180
 36935  	}
 36936  	rrc = DMATCH_NOMATCH
 36937  	goto RETURN_SWITCH
 36938  __180:
 36939  	;
 36940  
 36941  	return DMATCH_NOMATCH
 36942  __179:
 36943  	;
 36944  
 36945  	// We have a successful match of the whole pattern. Record the result and
 36946  	//     then do a direct return from the function. If there is space in the offset
 36947  	//     vector, set any pairs that follow the highest-numbered captured string but
 36948  	//     are less than the number of capturing groups in the pattern to PCRE2_UNSET.
 36949  	//     It is documented that this happens. "Gaps" are set to PCRE2_UNSET
 36950  	//     dynamically. It is only those at the end that need setting here.
 36951  
 36952  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_match_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr        // Record where we ended
 36953  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top = (*Theapframe)(unsafe.Pointer(F)).Foffset_top // and how many extracts were taken
 36954  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark = (*Theapframe)(unsafe.Pointer(F)).Fmark                 // and the last success mark
 36955  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 36956  		goto __181
 36957  	}
 36958  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 36959  __181:
 36960  	;
 36961  
 36962  	*(*Tsize_t)(unsafe.Pointer(ovector)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Fstart_match) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 36963  	*(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 36964  
 36965  	// Set i to the smaller of the sizes of the external and frame ovectors.
 36966  
 36967  	i = Tuint32_t(2 * func() int32 {
 36968  		if int32(top_bracket)+1 > int32(oveccount) {
 36969  			return int32(oveccount)
 36970  		}
 36971  		return int32(top_bracket) + 1
 36972  	}())
 36973  	libc.Xmemcpy(tls, ovector+uintptr(2)*8, F+128, uint64(i-Tuint32_t(2))*uint64(unsafe.Sizeof(Tsize_t(0))))
 36974  __182:
 36975  	if !(Tsize_t(libc.PreDecUint32(&i, 1)) >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top+uint64(2)) {
 36976  		goto __183
 36977  	}
 36978  	*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8)) = libc.CplUint64(uint64(0))
 36979  	goto __182
 36980  __183:
 36981  	;
 36982  	return DMATCH_MATCH // Note: NOT RRETURN
 36983  
 36984  	//=====================================================================
 36985  	// Match any single character type except newline; have to take care with
 36986  	//     CRLF newlines and partial matching.
 36987  
 36988  __18:
 36989  	if !(func() int32 {
 36990  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 36991  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 36992  		}
 36993  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 36994  	}() != 0) {
 36995  		goto __184
 36996  	}
 36997  	rrc = DMATCH_NOMATCH
 36998  	goto RETURN_SWITCH
 36999  __184:
 37000  	;
 37001  
 37002  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr(1) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 37003  		goto __185
 37004  	}
 37005  
 37006  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37007  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37008  		goto __186
 37009  	}
 37010  	return -2
 37011  __186:
 37012  	;
 37013  __185:
 37014  	;
 37015  	// Fall through
 37016  
 37017  	// Match any single character whatsoever.
 37018  
 37019  __19:
 37020  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37021  		goto __187
 37022  	} /* DO NOT merge the Feptr++ here; it must */
 37023  	// not be updated before SCHECK_PARTIAL.
 37024  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37025  		goto __188
 37026  	}
 37027  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37028  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37029  		goto __189
 37030  	}
 37031  	return -2
 37032  __189:
 37033  	;
 37034  __188:
 37035  	;
 37036  
 37037  	rrc = DMATCH_NOMATCH
 37038  	goto RETURN_SWITCH
 37039  
 37040  __187:
 37041  	;
 37042  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37043  	if !(utf != 0) {
 37044  		goto __190
 37045  	}
 37046  __191:
 37047  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 37048  		goto __192
 37049  	}
 37050  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37051  	goto __191
 37052  __192:
 37053  	;
 37054  __190:
 37055  	;
 37056  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37057  	goto __13
 37058  
 37059  	// =====================================================================
 37060  	// Match a single code unit, even in UTF mode. This opcode really does
 37061  	//     match any code unit, even newline. (It really should be called ANYCODEUNIT,
 37062  	//     of course - the byte name is from pre-16 bit days.)
 37063  
 37064  __20:
 37065  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37066  		goto __193
 37067  	} /* DO NOT merge the Feptr++ here; it must */
 37068  	// not be updated before SCHECK_PARTIAL.
 37069  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37070  		goto __194
 37071  	}
 37072  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37073  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37074  		goto __195
 37075  	}
 37076  	return -2
 37077  __195:
 37078  	;
 37079  __194:
 37080  	;
 37081  
 37082  	rrc = DMATCH_NOMATCH
 37083  	goto RETURN_SWITCH
 37084  
 37085  __193:
 37086  	;
 37087  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37088  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37089  	goto __13
 37090  
 37091  	// =====================================================================
 37092  	// Match a single character, casefully
 37093  
 37094  __21:
 37095  	if !(utf != 0) {
 37096  		goto __196
 37097  	}
 37098  
 37099  	(*Theapframe)(unsafe.Pointer(F)).Flength = uint64(1)
 37100  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37101  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))
 37102  	if !(fc >= 0xc0) {
 37103  		goto __198
 37104  	}
 37105  	if !(fc&0x20 == Tuint32_t(0)) {
 37106  		goto __199
 37107  	}
 37108  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f
 37109  	(*Theapframe)(unsafe.Pointer(F)).Flength++
 37110  	goto __200
 37111  __199:
 37112  	if !(fc&0x10 == Tuint32_t(0)) {
 37113  		goto __201
 37114  	}
 37115  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f
 37116  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(2)
 37117  	goto __202
 37118  __201:
 37119  	if !(fc&0x08 == Tuint32_t(0)) {
 37120  		goto __203
 37121  	}
 37122  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f
 37123  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(3)
 37124  	goto __204
 37125  __203:
 37126  	if !(fc&0x04 == Tuint32_t(0)) {
 37127  		goto __205
 37128  	}
 37129  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f
 37130  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(4)
 37131  	goto __206
 37132  __205:
 37133  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))&0x3f
 37134  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(5)
 37135  __206:
 37136  	;
 37137  __204:
 37138  	;
 37139  __202:
 37140  	;
 37141  __200:
 37142  	;
 37143  __198:
 37144  	;
 37145  
 37146  	if !((*Theapframe)(unsafe.Pointer(F)).Flength > Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64((*Theapframe)(unsafe.Pointer(F)).Feptr))/1)) {
 37147  		goto __207
 37148  	}
 37149  
 37150  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37151  		goto __208
 37152  	}
 37153  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37154  		goto __209
 37155  	}
 37156  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37157  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37158  		goto __210
 37159  	}
 37160  	return -2
 37161  __210:
 37162  	;
 37163  __209:
 37164  	;
 37165  __208:
 37166  	;
 37167  	/* Not SCHECK_PARTIAL() */
 37168  	rrc = DMATCH_NOMATCH
 37169  	goto RETURN_SWITCH
 37170  
 37171  __207:
 37172  	;
 37173  __211:
 37174  	if !((*Theapframe)(unsafe.Pointer(F)).Flength > uint64(0)) {
 37175  		goto __213
 37176  	}
 37177  
 37178  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) != int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 37179  		goto __214
 37180  	}
 37181  	rrc = DMATCH_NOMATCH
 37182  	goto RETURN_SWITCH
 37183  __214:
 37184  	;
 37185  
 37186  	goto __212
 37187  __212:
 37188  	(*Theapframe)(unsafe.Pointer(F)).Flength--
 37189  	goto __211
 37190  	goto __213
 37191  __213:
 37192  	;
 37193  	goto __197
 37194  __196:
 37195  
 37196  	/* Not UTF mode */
 37197  
 37198  	if !((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64((*Theapframe)(unsafe.Pointer(F)).Feptr))/1 < int64(1)) {
 37199  		goto __215
 37200  	}
 37201  
 37202  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37203  		goto __216
 37204  	}
 37205  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37206  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37207  		goto __217
 37208  	}
 37209  	return -2
 37210  __217:
 37211  	;
 37212  __216:
 37213  	;
 37214  	/* This one can use SCHECK_PARTIAL() */
 37215  	rrc = DMATCH_NOMATCH
 37216  	goto RETURN_SWITCH
 37217  
 37218  __215:
 37219  	;
 37220  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) != int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 37221  		goto __218
 37222  	}
 37223  	rrc = DMATCH_NOMATCH
 37224  	goto RETURN_SWITCH
 37225  __218:
 37226  	;
 37227  
 37228  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37229  __197:
 37230  	;
 37231  	goto __13
 37232  
 37233  	// =====================================================================
 37234  	// Match a single character, caselessly. If we are at the end of the
 37235  	//     subject, give up immediately. We get here only when the pattern character
 37236  	//     has at most one other case. Characters with more than two cases are coded
 37237  	//     as OP_PROP with the pseudo-property PT_CLIST.
 37238  
 37239  __22:
 37240  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37241  		goto __219
 37242  	}
 37243  
 37244  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37245  		goto __220
 37246  	}
 37247  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37248  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37249  		goto __221
 37250  	}
 37251  	return -2
 37252  __221:
 37253  	;
 37254  __220:
 37255  	;
 37256  
 37257  	rrc = DMATCH_NOMATCH
 37258  	goto RETURN_SWITCH
 37259  
 37260  __219:
 37261  	;
 37262  
 37263  	if !(utf != 0) {
 37264  		goto __222
 37265  	}
 37266  
 37267  	(*Theapframe)(unsafe.Pointer(F)).Flength = uint64(1)
 37268  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37269  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))
 37270  	if !(fc >= 0xc0) {
 37271  		goto __224
 37272  	}
 37273  	if !(fc&0x20 == Tuint32_t(0)) {
 37274  		goto __225
 37275  	}
 37276  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f
 37277  	(*Theapframe)(unsafe.Pointer(F)).Flength++
 37278  	goto __226
 37279  __225:
 37280  	if !(fc&0x10 == Tuint32_t(0)) {
 37281  		goto __227
 37282  	}
 37283  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f
 37284  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(2)
 37285  	goto __228
 37286  __227:
 37287  	if !(fc&0x08 == Tuint32_t(0)) {
 37288  		goto __229
 37289  	}
 37290  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f
 37291  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(3)
 37292  	goto __230
 37293  __229:
 37294  	if !(fc&0x04 == Tuint32_t(0)) {
 37295  		goto __231
 37296  	}
 37297  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f
 37298  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(4)
 37299  	goto __232
 37300  __231:
 37301  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))&0x3f
 37302  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(5)
 37303  __232:
 37304  	;
 37305  __230:
 37306  	;
 37307  __228:
 37308  	;
 37309  __226:
 37310  	;
 37311  __224:
 37312  	;
 37313  
 37314  	// If the pattern character's value is < 128, we know that its other case
 37315  	//       (if any) is also < 128 (and therefore only one code unit long in all
 37316  	//       code-unit widths), so we can use the fast lookup table. We checked above
 37317  	//       that there is at least one character left in the subject.
 37318  
 37319  	if !(fc < Tuint32_t(128)) {
 37320  		goto __233
 37321  	}
 37322  
 37323  	cc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 37324  	if !(int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(fc)))) != int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(cc))))) {
 37325  		goto __235
 37326  	}
 37327  	rrc = DMATCH_NOMATCH
 37328  	goto RETURN_SWITCH
 37329  __235:
 37330  	;
 37331  
 37332  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37333  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37334  	goto __234
 37335  __233:
 37336  
 37337  	dc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 37338  	if !(dc >= 0xc0) {
 37339  		goto __236
 37340  	}
 37341  	if !(dc&0x20 == Tuint32_t(0)) {
 37342  		goto __237
 37343  	}
 37344  	dc = dc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 37345  	goto __238
 37346  __237:
 37347  	if !(dc&0x10 == Tuint32_t(0)) {
 37348  		goto __239
 37349  	}
 37350  	dc = dc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 37351  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 37352  	goto __240
 37353  __239:
 37354  	if !(dc&0x08 == Tuint32_t(0)) {
 37355  		goto __241
 37356  	}
 37357  	dc = dc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 37358  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 37359  	goto __242
 37360  __241:
 37361  	if !(dc&0x04 == Tuint32_t(0)) {
 37362  		goto __243
 37363  	}
 37364  	dc = dc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 37365  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 37366  	goto __244
 37367  __243:
 37368  	dc = dc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 37369  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 37370  __244:
 37371  	;
 37372  __242:
 37373  	;
 37374  __240:
 37375  	;
 37376  __238:
 37377  	;
 37378  __236:
 37379  	;
 37380  
 37381  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37382  	if !(dc != fc && dc != Tuint32_t(int32(fc)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fother_case)) {
 37383  		goto __245
 37384  	}
 37385  	rrc = DMATCH_NOMATCH
 37386  	goto RETURN_SWITCH
 37387  __245:
 37388  	;
 37389  
 37390  __234:
 37391  	;
 37392  	goto __223
 37393  __222:
 37394  	if !(ucp != 0) {
 37395  		goto __246
 37396  	}
 37397  
 37398  	cc1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 37399  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 37400  	if !(fc < Tuint32_t(128)) {
 37401  		goto __248
 37402  	}
 37403  
 37404  	if !(int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(fc)))) != int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(cc1))))) {
 37405  		goto __250
 37406  	}
 37407  	rrc = DMATCH_NOMATCH
 37408  	goto RETURN_SWITCH
 37409  __250:
 37410  	;
 37411  
 37412  	goto __249
 37413  __248:
 37414  
 37415  	if !(cc1 != fc && cc1 != Tuint32_t(int32(fc)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fother_case)) {
 37416  		goto __251
 37417  	}
 37418  	rrc = DMATCH_NOMATCH
 37419  	goto RETURN_SWITCH
 37420  __251:
 37421  	;
 37422  
 37423  __249:
 37424  	;
 37425  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37426  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37427  	goto __247
 37428  __246:
 37429  
 37430  	/* Not UTF or UCP mode; use the table for characters < 256. */
 37431  
 37432  	if !(int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))))) !=
 37433  		int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))) {
 37434  		goto __252
 37435  	}
 37436  	rrc = DMATCH_NOMATCH
 37437  	goto RETURN_SWITCH
 37438  __252:
 37439  	;
 37440  
 37441  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 37442  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37443  __247:
 37444  	;
 37445  __223:
 37446  	;
 37447  	goto __13
 37448  
 37449  	// =====================================================================
 37450  	// Match not a single character.
 37451  
 37452  __23:
 37453  __24:
 37454  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37455  		goto __253
 37456  	}
 37457  
 37458  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37459  		goto __254
 37460  	}
 37461  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37462  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37463  		goto __255
 37464  	}
 37465  	return -2
 37466  __255:
 37467  	;
 37468  __254:
 37469  	;
 37470  
 37471  	rrc = DMATCH_NOMATCH
 37472  	goto RETURN_SWITCH
 37473  
 37474  __253:
 37475  	;
 37476  
 37477  	if !(utf != 0) {
 37478  		goto __256
 37479  	}
 37480  
 37481  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37482  	ch = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 37483  	if !(ch >= 0xc0) {
 37484  		goto __258
 37485  	}
 37486  	if !(ch&0x20 == Tuint32_t(0)) {
 37487  		goto __259
 37488  	}
 37489  	ch = ch&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))&0x3f
 37490  	goto __260
 37491  __259:
 37492  	if !(ch&0x10 == Tuint32_t(0)) {
 37493  		goto __261
 37494  	}
 37495  	ch = ch&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f
 37496  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37497  	goto __262
 37498  __261:
 37499  	if !(ch&0x08 == Tuint32_t(0)) {
 37500  		goto __263
 37501  	}
 37502  	ch = ch&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f
 37503  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(3)
 37504  	goto __264
 37505  __263:
 37506  	if !(ch&0x04 == Tuint32_t(0)) {
 37507  		goto __265
 37508  	}
 37509  	ch = ch&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f
 37510  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(4)
 37511  	goto __266
 37512  __265:
 37513  	ch = ch&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f
 37514  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(5)
 37515  __266:
 37516  	;
 37517  __264:
 37518  	;
 37519  __262:
 37520  	;
 37521  __260:
 37522  	;
 37523  __258:
 37524  	;
 37525  
 37526  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 37527  	if !(fc >= 0xc0) {
 37528  		goto __267
 37529  	}
 37530  	if !(fc&0x20 == Tuint32_t(0)) {
 37531  		goto __268
 37532  	}
 37533  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 37534  	goto __269
 37535  __268:
 37536  	if !(fc&0x10 == Tuint32_t(0)) {
 37537  		goto __270
 37538  	}
 37539  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 37540  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 37541  	goto __271
 37542  __270:
 37543  	if !(fc&0x08 == Tuint32_t(0)) {
 37544  		goto __272
 37545  	}
 37546  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 37547  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 37548  	goto __273
 37549  __272:
 37550  	if !(fc&0x04 == Tuint32_t(0)) {
 37551  		goto __274
 37552  	}
 37553  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 37554  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 37555  	goto __275
 37556  __274:
 37557  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 37558  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 37559  __275:
 37560  	;
 37561  __273:
 37562  	;
 37563  __271:
 37564  	;
 37565  __269:
 37566  	;
 37567  __267:
 37568  	;
 37569  
 37570  	if !(ch == fc) {
 37571  		goto __276
 37572  	}
 37573  
 37574  	rrc = DMATCH_NOMATCH
 37575  	goto RETURN_SWITCH
 37576  	// Caseful match
 37577  	goto __277
 37578  __276:
 37579  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTI) {
 37580  		goto __278
 37581  	} /* If caseless */
 37582  
 37583  	if !(ch > Tuint32_t(127)) {
 37584  		goto __279
 37585  	}
 37586  	ch = Tuint32_t(int32(ch) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(ch)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(ch)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 37587  	goto __280
 37588  __279:
 37589  	ch = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(ch))))
 37590  __280:
 37591  	;
 37592  	if !(ch == fc) {
 37593  		goto __281
 37594  	}
 37595  	rrc = DMATCH_NOMATCH
 37596  	goto RETURN_SWITCH
 37597  __281:
 37598  	;
 37599  
 37600  __278:
 37601  	;
 37602  __277:
 37603  	;
 37604  	goto __257
 37605  __256:
 37606  	if !(ucp != 0) {
 37607  		goto __282
 37608  	}
 37609  
 37610  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 37611  	ch1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 37612  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37613  
 37614  	if !(ch1 == fc) {
 37615  		goto __284
 37616  	}
 37617  
 37618  	rrc = DMATCH_NOMATCH
 37619  	goto RETURN_SWITCH
 37620  	// Caseful match
 37621  	goto __285
 37622  __284:
 37623  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTI) {
 37624  		goto __286
 37625  	} /* If caseless */
 37626  
 37627  	if !(ch1 > Tuint32_t(127)) {
 37628  		goto __287
 37629  	}
 37630  	ch1 = Tuint32_t(int32(ch1) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(ch1)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(ch1)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 37631  	goto __288
 37632  __287:
 37633  	ch1 = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(ch1))))
 37634  __288:
 37635  	;
 37636  	if !(ch1 == fc) {
 37637  		goto __289
 37638  	}
 37639  	rrc = DMATCH_NOMATCH
 37640  	goto RETURN_SWITCH
 37641  __289:
 37642  	;
 37643  
 37644  __286:
 37645  	;
 37646  __285:
 37647  	;
 37648  	goto __283
 37649  __282:
 37650  
 37651  	/* Neither UTF nor UCP is set */
 37652  
 37653  	ch2 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 37654  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 37655  	if !(ch2 == fc || int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTI && Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(ch2)))) == fc) {
 37656  		goto __290
 37657  	}
 37658  	rrc = DMATCH_NOMATCH
 37659  	goto RETURN_SWITCH
 37660  __290:
 37661  	;
 37662  
 37663  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 37664  __283:
 37665  	;
 37666  __257:
 37667  	;
 37668  	goto __13
 37669  
 37670  	// =====================================================================
 37671  	// Match a single character repeatedly.
 37672  
 37673  __25:
 37674  __26:
 37675  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 37676  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 37677  	goto REPEATCHAR
 37678  
 37679  __27:
 37680  __28:
 37681  	reptype = REPTYPE_POS
 37682  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 37683  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 37684  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 37685  	goto REPEATCHAR
 37686  
 37687  __29:
 37688  __30:
 37689  	reptype = REPTYPE_MAX
 37690  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 37691  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 37692  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 37693  	goto REPEATCHAR
 37694  
 37695  __31:
 37696  __32:
 37697  	reptype = REPTYPE_MIN
 37698  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 37699  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 37700  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 37701  	goto REPEATCHAR
 37702  
 37703  __33:
 37704  __34:
 37705  	reptype = REPTYPE_POS
 37706  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 37707  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 37708  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37709  	goto REPEATCHAR
 37710  
 37711  __35:
 37712  __36:
 37713  	reptype = REPTYPE_POS
 37714  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(1)
 37715  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 37716  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37717  	goto REPEATCHAR
 37718  
 37719  __37:
 37720  __38:
 37721  	reptype = REPTYPE_POS
 37722  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 37723  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(1)
 37724  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 37725  	goto REPEATCHAR
 37726  
 37727  __39:
 37728  __40:
 37729  __41:
 37730  __42:
 37731  __43:
 37732  __44:
 37733  __45:
 37734  __46:
 37735  __47:
 37736  __48:
 37737  __49:
 37738  __50:
 37739  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - func() int32 {
 37740  		if int32((*Theapframe)(unsafe.Pointer(F)).Fop) < OP_STARI {
 37741  			return OP_STAR
 37742  		}
 37743  		return OP_STARI
 37744  	}())
 37745  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc]
 37746  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc]
 37747  	reptype = rep_typ[fc]
 37748  
 37749  	// Common code for all repeated single-character matches. We first check
 37750  	//     for the minimum number of characters. If the minimum equals the maximum, we
 37751  	//     are done. Otherwise, if minimizing, check the rest of the pattern for a
 37752  	//     match; if there isn't one, advance up to the maximum, one character at a
 37753  	//     time.
 37754  	//
 37755  	//     If maximizing, advance up to the maximum number of matching characters,
 37756  	//     until Feptr is past the end of the maximum run. If possessive, we are
 37757  	//     then done (no backing up). Otherwise, match at this position; anything
 37758  	//     other than no match is immediately returned. For nomatch, back up one
 37759  	//     character, unless we are matching \R and the last thing matched was
 37760  	//     \r\n, in which case, back up two code units until we reach the first
 37761  	//     optional character position.
 37762  	//
 37763  	//     The various UTF/non-UTF and caseful/caseless cases are handled separately,
 37764  	//     for speed.
 37765  
 37766  REPEATCHAR:
 37767  	if !(utf != 0) {
 37768  		goto __291
 37769  	}
 37770  
 37771  	(*Theapframe)(unsafe.Pointer(F)).Flength = uint64(1)
 37772  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode
 37773  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))
 37774  	if !(fc >= 0xc0) {
 37775  		goto __293
 37776  	}
 37777  	if !(fc&0x20 == Tuint32_t(0)) {
 37778  		goto __294
 37779  	}
 37780  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f
 37781  	(*Theapframe)(unsafe.Pointer(F)).Flength++
 37782  	goto __295
 37783  __294:
 37784  	if !(fc&0x10 == Tuint32_t(0)) {
 37785  		goto __296
 37786  	}
 37787  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f
 37788  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(2)
 37789  	goto __297
 37790  __296:
 37791  	if !(fc&0x08 == Tuint32_t(0)) {
 37792  		goto __298
 37793  	}
 37794  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f
 37795  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(3)
 37796  	goto __299
 37797  __298:
 37798  	if !(fc&0x04 == Tuint32_t(0)) {
 37799  		goto __300
 37800  	}
 37801  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f
 37802  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(4)
 37803  	goto __301
 37804  __300:
 37805  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 5)))&0x3f
 37806  	*(*Tsize_t)(unsafe.Pointer(F + 24)) += uint64(5)
 37807  __301:
 37808  	;
 37809  __299:
 37810  	;
 37811  __297:
 37812  	;
 37813  __295:
 37814  	;
 37815  __293:
 37816  	;
 37817  
 37818  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37819  
 37820  	// Handle multi-code-unit character matching, caseful and caseless.
 37821  
 37822  	if !((*Theapframe)(unsafe.Pointer(F)).Flength > uint64(1)) {
 37823  		goto __302
 37824  	}
 37825  
 37826  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_STARI && libc.AssignUint32(&othercase, Tuint32_t(int32(fc)+(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fother_case)) != fc) {
 37827  		goto __303
 37828  	}
 37829  	(*Theapframe)(unsafe.Pointer(F)).Ftemp_size = Tsize_t(X_pcre2_ord2utf_8(tls, othercase, F+74))
 37830  	goto __304
 37831  __303:
 37832  	(*Theapframe)(unsafe.Pointer(F)).Ftemp_size = uint64(0)
 37833  __304:
 37834  	;
 37835  
 37836  	i = Tuint32_t(1)
 37837  __305:
 37838  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 37839  		goto __307
 37840  	}
 37841  
 37842  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Flength) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), (*Theapframe)(unsafe.Pointer(F)).Flength*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37843  		goto __308
 37844  	}
 37845  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37846  	goto __309
 37847  __308:
 37848  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size > uint64(0) && (*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, F+74, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37849  		goto __310
 37850  	}
 37851  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)
 37852  	goto __311
 37853  __310:
 37854  
 37855  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37856  		goto __312
 37857  	}
 37858  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37859  		goto __313
 37860  	}
 37861  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37862  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37863  		goto __314
 37864  	}
 37865  	return -2
 37866  __314:
 37867  	;
 37868  __313:
 37869  	;
 37870  __312:
 37871  	;
 37872  
 37873  	rrc = DMATCH_NOMATCH
 37874  	goto RETURN_SWITCH
 37875  
 37876  __311:
 37877  	;
 37878  __309:
 37879  	;
 37880  	goto __306
 37881  __306:
 37882  	i++
 37883  	goto __305
 37884  	goto __307
 37885  __307:
 37886  	;
 37887  
 37888  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 37889  		goto __315
 37890  	}
 37891  	goto __11
 37892  __315:
 37893  	;
 37894  
 37895  	if !(reptype == REPTYPE_MIN) {
 37896  		goto __316
 37897  	}
 37898  
 37899  __318:
 37900  
 37901  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 37902  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM202
 37903  	goto MATCH_RECURSE
 37904  L_RM202:
 37905  	;
 37906  
 37907  	if !(rrc != DMATCH_NOMATCH) {
 37908  		goto __321
 37909  	}
 37910  	rrc = rrc
 37911  	goto RETURN_SWITCH
 37912  __321:
 37913  	;
 37914  
 37915  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 37916  		goto __322
 37917  	}
 37918  	rrc = DMATCH_NOMATCH
 37919  	goto RETURN_SWITCH
 37920  __322:
 37921  	;
 37922  
 37923  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Flength) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), (*Theapframe)(unsafe.Pointer(F)).Flength*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37924  		goto __323
 37925  	}
 37926  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37927  	goto __324
 37928  __323:
 37929  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size > uint64(0) && (*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, F+74, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37930  		goto __325
 37931  	}
 37932  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)
 37933  	goto __326
 37934  __325:
 37935  
 37936  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37937  		goto __327
 37938  	}
 37939  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37940  		goto __328
 37941  	}
 37942  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37943  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37944  		goto __329
 37945  	}
 37946  	return -2
 37947  __329:
 37948  	;
 37949  __328:
 37950  	;
 37951  __327:
 37952  	;
 37953  
 37954  	rrc = DMATCH_NOMATCH
 37955  	goto RETURN_SWITCH
 37956  
 37957  __326:
 37958  	;
 37959  __324:
 37960  	;
 37961  	goto __319
 37962  __319:
 37963  	goto __318
 37964  	goto __320
 37965  __320:
 37966  	;
 37967  	// Control never gets here
 37968  	goto __317
 37969  __316: /* Maximize */
 37970  
 37971  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 37972  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 37973  __330:
 37974  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 37975  		goto __332
 37976  	}
 37977  
 37978  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Flength) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), (*Theapframe)(unsafe.Pointer(F)).Flength*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37979  		goto __333
 37980  	}
 37981  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 37982  	goto __334
 37983  __333:
 37984  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size > uint64(0) && (*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size) && libc.Xmemcmp(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, F+74, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size*uint64(DPCRE2_CODE_UNIT_WIDTH/8)) == 0) {
 37985  		goto __335
 37986  	}
 37987  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)
 37988  	goto __336
 37989  __335:
 37990  
 37991  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 37992  		goto __337
 37993  	}
 37994  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 37995  		goto __338
 37996  	}
 37997  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 37998  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 37999  		goto __339
 38000  	}
 38001  	return -2
 38002  __339:
 38003  	;
 38004  __338:
 38005  	;
 38006  __337:
 38007  	;
 38008  
 38009  	goto __332
 38010  __336:
 38011  	;
 38012  __334:
 38013  	;
 38014  	goto __331
 38015  __331:
 38016  	i++
 38017  	goto __330
 38018  	goto __332
 38019  __332:
 38020  	;
 38021  
 38022  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 38023  	//           Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 38024  	//           go too far.
 38025  
 38026  	if !(reptype != REPTYPE_POS) {
 38027  		goto __340
 38028  	}
 38029  __341:
 38030  
 38031  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 38032  		goto __344
 38033  	}
 38034  	goto __343
 38035  __344:
 38036  	;
 38037  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38038  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM203
 38039  	goto MATCH_RECURSE
 38040  L_RM203:
 38041  	;
 38042  
 38043  	if !(rrc != DMATCH_NOMATCH) {
 38044  		goto __345
 38045  	}
 38046  	rrc = rrc
 38047  	goto RETURN_SWITCH
 38048  __345:
 38049  	;
 38050  
 38051  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 38052  __346:
 38053  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 38054  		goto __347
 38055  	}
 38056  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 38057  	goto __346
 38058  __347:
 38059  	;
 38060  	goto __342
 38061  __342:
 38062  	goto __341
 38063  	goto __343
 38064  __343:
 38065  	;
 38066  __340:
 38067  	;
 38068  __317:
 38069  	;
 38070  	goto __13 // End of repeated wide character handling
 38071  __302:
 38072  	;
 38073  
 38074  	// Length of UTF character is 1. Put it into the preserved variable and
 38075  	//       fall through to the non-UTF code.
 38076  
 38077  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = fc
 38078  	goto __292
 38079  __291:
 38080  
 38081  	// When not in UTF mode, load a single-code-unit character. Then proceed as
 38082  	//     above, using Unicode casing if either UTF or UCP is set.
 38083  
 38084  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 38085  __292:
 38086  	;
 38087  
 38088  	// Caseless comparison
 38089  
 38090  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_STARI) {
 38091  		goto __348
 38092  	}
 38093  
 38094  	if !(ucp != 0 && !(utf != 0) && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) > Tuint32_t(127)) {
 38095  		goto __350
 38096  	}
 38097  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)))%DUCD_BLOCK_SIZE])*12)).Fother_case)
 38098  	goto __351
 38099  __350:
 38100  	// Lc will be < 128 in UTF-8 mode.
 38101  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))))))
 38102  __351:
 38103  	;
 38104  
 38105  	i = Tuint32_t(1)
 38106  __352:
 38107  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 38108  		goto __354
 38109  	}
 38110  	// Faster than PCRE2_UCHAR
 38111  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38112  		goto __355
 38113  	}
 38114  
 38115  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38116  		goto __356
 38117  	}
 38118  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38119  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38120  		goto __357
 38121  	}
 38122  	return -2
 38123  __357:
 38124  	;
 38125  __356:
 38126  	;
 38127  
 38128  	rrc = DMATCH_NOMATCH
 38129  	goto RETURN_SWITCH
 38130  
 38131  __355:
 38132  	;
 38133  	cc2 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 38134  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != cc2 && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) != cc2) {
 38135  		goto __358
 38136  	}
 38137  	rrc = DMATCH_NOMATCH
 38138  	goto RETURN_SWITCH
 38139  __358:
 38140  	;
 38141  
 38142  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38143  	goto __353
 38144  __353:
 38145  	i++
 38146  	goto __352
 38147  	goto __354
 38148  __354:
 38149  	;
 38150  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38151  		goto __359
 38152  	}
 38153  	goto __11
 38154  __359:
 38155  	;
 38156  
 38157  	if !(reptype == REPTYPE_MIN) {
 38158  		goto __360
 38159  	}
 38160  
 38161  __362:
 38162  	/* Faster than PCRE2_UCHAR */
 38163  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38164  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM25
 38165  	goto MATCH_RECURSE
 38166  L_RM25:
 38167  	;
 38168  
 38169  	if !(rrc != DMATCH_NOMATCH) {
 38170  		goto __365
 38171  	}
 38172  	rrc = rrc
 38173  	goto RETURN_SWITCH
 38174  __365:
 38175  	;
 38176  
 38177  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38178  		goto __366
 38179  	}
 38180  	rrc = DMATCH_NOMATCH
 38181  	goto RETURN_SWITCH
 38182  __366:
 38183  	;
 38184  
 38185  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38186  		goto __367
 38187  	}
 38188  
 38189  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38190  		goto __368
 38191  	}
 38192  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38193  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38194  		goto __369
 38195  	}
 38196  	return -2
 38197  __369:
 38198  	;
 38199  __368:
 38200  	;
 38201  
 38202  	rrc = DMATCH_NOMATCH
 38203  	goto RETURN_SWITCH
 38204  
 38205  __367:
 38206  	;
 38207  	cc3 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 38208  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != cc3 && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) != cc3) {
 38209  		goto __370
 38210  	}
 38211  	rrc = DMATCH_NOMATCH
 38212  	goto RETURN_SWITCH
 38213  __370:
 38214  	;
 38215  
 38216  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38217  	goto __363
 38218  __363:
 38219  	goto __362
 38220  	goto __364
 38221  __364:
 38222  	;
 38223  	// Control never gets here
 38224  	goto __361
 38225  __360: /* Maximize */
 38226  
 38227  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 38228  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 38229  __371:
 38230  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38231  		goto __373
 38232  	}
 38233  	// Faster than PCRE2_UCHAR
 38234  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38235  		goto __374
 38236  	}
 38237  
 38238  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38239  		goto __375
 38240  	}
 38241  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38242  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38243  		goto __376
 38244  	}
 38245  	return -2
 38246  __376:
 38247  	;
 38248  __375:
 38249  	;
 38250  
 38251  	goto __373
 38252  __374:
 38253  	;
 38254  	cc4 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 38255  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != cc4 && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) != cc4) {
 38256  		goto __377
 38257  	}
 38258  	goto __373
 38259  __377:
 38260  	;
 38261  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38262  	goto __372
 38263  __372:
 38264  	i++
 38265  	goto __371
 38266  	goto __373
 38267  __373:
 38268  	;
 38269  	if !(reptype != REPTYPE_POS) {
 38270  		goto __378
 38271  	}
 38272  __379:
 38273  
 38274  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 38275  		goto __382
 38276  	}
 38277  	goto __381
 38278  __382:
 38279  	;
 38280  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38281  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM26
 38282  	goto MATCH_RECURSE
 38283  L_RM26:
 38284  	;
 38285  
 38286  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 38287  	if !(rrc != DMATCH_NOMATCH) {
 38288  		goto __383
 38289  	}
 38290  	rrc = rrc
 38291  	goto RETURN_SWITCH
 38292  __383:
 38293  	;
 38294  
 38295  	goto __380
 38296  __380:
 38297  	goto __379
 38298  	goto __381
 38299  __381:
 38300  	;
 38301  __378:
 38302  	;
 38303  __361:
 38304  	;
 38305  	goto __349
 38306  __348:
 38307  
 38308  	i = Tuint32_t(1)
 38309  __384:
 38310  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 38311  		goto __386
 38312  	}
 38313  
 38314  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38315  		goto __387
 38316  	}
 38317  
 38318  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38319  		goto __388
 38320  	}
 38321  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38322  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38323  		goto __389
 38324  	}
 38325  	return -2
 38326  __389:
 38327  	;
 38328  __388:
 38329  	;
 38330  
 38331  	rrc = DMATCH_NOMATCH
 38332  	goto RETURN_SWITCH
 38333  
 38334  __387:
 38335  	;
 38336  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 38337  		goto __390
 38338  	}
 38339  	rrc = DMATCH_NOMATCH
 38340  	goto RETURN_SWITCH
 38341  __390:
 38342  	;
 38343  
 38344  	goto __385
 38345  __385:
 38346  	i++
 38347  	goto __384
 38348  	goto __386
 38349  __386:
 38350  	;
 38351  
 38352  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38353  		goto __391
 38354  	}
 38355  	goto __11
 38356  __391:
 38357  	;
 38358  
 38359  	if !(reptype == REPTYPE_MIN) {
 38360  		goto __392
 38361  	}
 38362  
 38363  __394:
 38364  
 38365  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38366  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM27
 38367  	goto MATCH_RECURSE
 38368  L_RM27:
 38369  	;
 38370  
 38371  	if !(rrc != DMATCH_NOMATCH) {
 38372  		goto __397
 38373  	}
 38374  	rrc = rrc
 38375  	goto RETURN_SWITCH
 38376  __397:
 38377  	;
 38378  
 38379  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38380  		goto __398
 38381  	}
 38382  	rrc = DMATCH_NOMATCH
 38383  	goto RETURN_SWITCH
 38384  __398:
 38385  	;
 38386  
 38387  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38388  		goto __399
 38389  	}
 38390  
 38391  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38392  		goto __400
 38393  	}
 38394  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38395  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38396  		goto __401
 38397  	}
 38398  	return -2
 38399  __401:
 38400  	;
 38401  __400:
 38402  	;
 38403  
 38404  	rrc = DMATCH_NOMATCH
 38405  	goto RETURN_SWITCH
 38406  
 38407  __399:
 38408  	;
 38409  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 38410  		goto __402
 38411  	}
 38412  	rrc = DMATCH_NOMATCH
 38413  	goto RETURN_SWITCH
 38414  __402:
 38415  	;
 38416  
 38417  	goto __395
 38418  __395:
 38419  	goto __394
 38420  	goto __396
 38421  __396:
 38422  	;
 38423  	// Control never gets here
 38424  	goto __393
 38425  __392: /* Maximize */
 38426  
 38427  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 38428  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 38429  __403:
 38430  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38431  		goto __405
 38432  	}
 38433  
 38434  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38435  		goto __406
 38436  	}
 38437  
 38438  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38439  		goto __407
 38440  	}
 38441  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38442  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38443  		goto __408
 38444  	}
 38445  	return -2
 38446  __408:
 38447  	;
 38448  __407:
 38449  	;
 38450  
 38451  	goto __405
 38452  __406:
 38453  	;
 38454  
 38455  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 38456  		goto __409
 38457  	}
 38458  	goto __405
 38459  __409:
 38460  	;
 38461  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38462  	goto __404
 38463  __404:
 38464  	i++
 38465  	goto __403
 38466  	goto __405
 38467  __405:
 38468  	;
 38469  
 38470  	if !(reptype != REPTYPE_POS) {
 38471  		goto __410
 38472  	}
 38473  __411:
 38474  
 38475  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 38476  		goto __414
 38477  	}
 38478  	goto __413
 38479  __414:
 38480  	;
 38481  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38482  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM28
 38483  	goto MATCH_RECURSE
 38484  L_RM28:
 38485  	;
 38486  
 38487  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 38488  	if !(rrc != DMATCH_NOMATCH) {
 38489  		goto __415
 38490  	}
 38491  	rrc = rrc
 38492  	goto RETURN_SWITCH
 38493  __415:
 38494  	;
 38495  
 38496  	goto __412
 38497  __412:
 38498  	goto __411
 38499  	goto __413
 38500  __413:
 38501  	;
 38502  __410:
 38503  	;
 38504  __393:
 38505  	;
 38506  __349:
 38507  	;
 38508  	goto __13
 38509  
 38510  	// =====================================================================
 38511  	// Match a negated single one-byte character repeatedly. This is almost a
 38512  	//     repeat of the code for a repeated single character, but I haven't found a
 38513  	//     nice way of commoning these up that doesn't require a test of the
 38514  	//     positive/negative option for each character match. Maybe that wouldn't add
 38515  	//     very much to the time taken, but character matching *is* what this is all
 38516  	//     about...
 38517  
 38518  __51:
 38519  __52:
 38520  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 38521  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 38522  	goto REPEATNOTCHAR
 38523  
 38524  __53:
 38525  __54:
 38526  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 38527  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 38528  	reptype = REPTYPE_MAX
 38529  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 38530  	goto REPEATNOTCHAR
 38531  
 38532  __55:
 38533  __56:
 38534  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 38535  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 38536  	reptype = REPTYPE_MIN
 38537  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 38538  	goto REPEATNOTCHAR
 38539  
 38540  __57:
 38541  __58:
 38542  	reptype = REPTYPE_POS
 38543  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 38544  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 38545  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 38546  	goto REPEATNOTCHAR
 38547  
 38548  __59:
 38549  __60:
 38550  	reptype = REPTYPE_POS
 38551  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(1)
 38552  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 38553  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 38554  	goto REPEATNOTCHAR
 38555  
 38556  __61:
 38557  __62:
 38558  	reptype = REPTYPE_POS
 38559  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 38560  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(1)
 38561  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 38562  	goto REPEATNOTCHAR
 38563  
 38564  __63:
 38565  __64:
 38566  	reptype = REPTYPE_POS
 38567  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 38568  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 38569  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 38570  	goto REPEATNOTCHAR
 38571  
 38572  __65:
 38573  __66:
 38574  __67:
 38575  __68:
 38576  __69:
 38577  __70:
 38578  __71:
 38579  __72:
 38580  __73:
 38581  __74:
 38582  __75:
 38583  __76:
 38584  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - func() int32 {
 38585  		if int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_NOTSTARI {
 38586  			return OP_NOTSTARI
 38587  		}
 38588  		return OP_NOTSTAR
 38589  	}())
 38590  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc]
 38591  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc]
 38592  	reptype = rep_typ[fc]
 38593  
 38594  	// Common code for all repeated single-character non-matches.
 38595  
 38596  REPEATNOTCHAR:
 38597  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 38598  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) >= 0xc0) {
 38599  		goto __416
 38600  	}
 38601  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x20 == Tuint32_t(0)) {
 38602  		goto __417
 38603  	}
 38604  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))&0x3f
 38605  	goto __418
 38606  __417:
 38607  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x10 == Tuint32_t(0)) {
 38608  		goto __419
 38609  	}
 38610  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f
 38611  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(2)
 38612  	goto __420
 38613  __419:
 38614  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x08 == Tuint32_t(0)) {
 38615  		goto __421
 38616  	}
 38617  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f
 38618  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(3)
 38619  	goto __422
 38620  __421:
 38621  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x04 == Tuint32_t(0)) {
 38622  		goto __423
 38623  	}
 38624  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f
 38625  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(4)
 38626  	goto __424
 38627  __423:
 38628  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))&0x3f
 38629  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(5)
 38630  __424:
 38631  	;
 38632  __422:
 38633  	;
 38634  __420:
 38635  	;
 38636  __418:
 38637  	;
 38638  __416:
 38639  	;
 38640  
 38641  	// The code is duplicated for the caseless and caseful cases, for speed,
 38642  	//     since matching characters is likely to be quite common. First, ensure the
 38643  	//     minimum number of matches are present. If Lmin = Lmax, we are done.
 38644  	//     Otherwise, if minimizing, keep trying the rest of the expression and
 38645  	//     advancing one matching character if failing, up to the maximum.
 38646  	//     Alternatively, if maximizing, find the maximum number of characters and
 38647  	//     work backwards.
 38648  
 38649  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) >= OP_NOTSTARI) {
 38650  		goto __425
 38651  	} /* Caseless */
 38652  
 38653  	if !((utf != 0 || ucp != 0) && *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) > Tuint32_t(127)) {
 38654  		goto __427
 38655  	}
 38656  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)))%DUCD_BLOCK_SIZE])*12)).Fother_case)
 38657  	goto __428
 38658  __427:
 38659  
 38660  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))))))
 38661  __428:
 38662  	; // Other case from table
 38663  
 38664  	if !(utf != 0) {
 38665  		goto __429
 38666  	}
 38667  
 38668  	i = Tuint32_t(1)
 38669  __431:
 38670  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 38671  		goto __433
 38672  	}
 38673  
 38674  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38675  		goto __434
 38676  	}
 38677  
 38678  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38679  		goto __435
 38680  	}
 38681  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38682  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38683  		goto __436
 38684  	}
 38685  	return -2
 38686  __436:
 38687  	;
 38688  __435:
 38689  	;
 38690  
 38691  	rrc = DMATCH_NOMATCH
 38692  	goto RETURN_SWITCH
 38693  
 38694  __434:
 38695  	;
 38696  	d = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 38697  	if !(d >= 0xc0) {
 38698  		goto __437
 38699  	}
 38700  	if !(d&0x20 == Tuint32_t(0)) {
 38701  		goto __438
 38702  	}
 38703  	d = d&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 38704  	goto __439
 38705  __438:
 38706  	if !(d&0x10 == Tuint32_t(0)) {
 38707  		goto __440
 38708  	}
 38709  	d = d&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 38710  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 38711  	goto __441
 38712  __440:
 38713  	if !(d&0x08 == Tuint32_t(0)) {
 38714  		goto __442
 38715  	}
 38716  	d = d&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 38717  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 38718  	goto __443
 38719  __442:
 38720  	if !(d&0x04 == Tuint32_t(0)) {
 38721  		goto __444
 38722  	}
 38723  	d = d&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 38724  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 38725  	goto __445
 38726  __444:
 38727  	d = d&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 38728  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 38729  __445:
 38730  	;
 38731  __443:
 38732  	;
 38733  __441:
 38734  	;
 38735  __439:
 38736  	;
 38737  __437:
 38738  	;
 38739  
 38740  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == d) {
 38741  		goto __446
 38742  	}
 38743  	rrc = DMATCH_NOMATCH
 38744  	goto RETURN_SWITCH
 38745  __446:
 38746  	;
 38747  
 38748  	goto __432
 38749  __432:
 38750  	i++
 38751  	goto __431
 38752  	goto __433
 38753  __433:
 38754  	;
 38755  	goto __430
 38756  __429:
 38757  
 38758  	/* Not UTF mode */
 38759  
 38760  	i = Tuint32_t(1)
 38761  __447:
 38762  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 38763  		goto __449
 38764  	}
 38765  
 38766  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38767  		goto __450
 38768  	}
 38769  
 38770  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38771  		goto __451
 38772  	}
 38773  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38774  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38775  		goto __452
 38776  	}
 38777  	return -2
 38778  __452:
 38779  	;
 38780  __451:
 38781  	;
 38782  
 38783  	rrc = DMATCH_NOMATCH
 38784  	goto RETURN_SWITCH
 38785  
 38786  __450:
 38787  	;
 38788  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 38789  		goto __453
 38790  	}
 38791  	rrc = DMATCH_NOMATCH
 38792  	goto RETURN_SWITCH
 38793  __453:
 38794  	;
 38795  
 38796  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38797  	goto __448
 38798  __448:
 38799  	i++
 38800  	goto __447
 38801  	goto __449
 38802  __449:
 38803  	;
 38804  __430:
 38805  	;
 38806  
 38807  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38808  		goto __454
 38809  	}
 38810  	goto __11
 38811  __454:
 38812  	; // Finished for exact count
 38813  
 38814  	if !(reptype == REPTYPE_MIN) {
 38815  		goto __455
 38816  	}
 38817  
 38818  	if !(utf != 0) {
 38819  		goto __457
 38820  	}
 38821  
 38822  __459:
 38823  
 38824  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38825  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM204
 38826  	goto MATCH_RECURSE
 38827  L_RM204:
 38828  	;
 38829  
 38830  	if !(rrc != DMATCH_NOMATCH) {
 38831  		goto __462
 38832  	}
 38833  	rrc = rrc
 38834  	goto RETURN_SWITCH
 38835  __462:
 38836  	;
 38837  
 38838  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38839  		goto __463
 38840  	}
 38841  	rrc = DMATCH_NOMATCH
 38842  	goto RETURN_SWITCH
 38843  __463:
 38844  	;
 38845  
 38846  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38847  		goto __464
 38848  	}
 38849  
 38850  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38851  		goto __465
 38852  	}
 38853  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38854  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38855  		goto __466
 38856  	}
 38857  	return -2
 38858  __466:
 38859  	;
 38860  __465:
 38861  	;
 38862  
 38863  	rrc = DMATCH_NOMATCH
 38864  	goto RETURN_SWITCH
 38865  
 38866  __464:
 38867  	;
 38868  	d1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 38869  	if !(d1 >= 0xc0) {
 38870  		goto __467
 38871  	}
 38872  	if !(d1&0x20 == Tuint32_t(0)) {
 38873  		goto __468
 38874  	}
 38875  	d1 = d1&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 38876  	goto __469
 38877  __468:
 38878  	if !(d1&0x10 == Tuint32_t(0)) {
 38879  		goto __470
 38880  	}
 38881  	d1 = d1&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 38882  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 38883  	goto __471
 38884  __470:
 38885  	if !(d1&0x08 == Tuint32_t(0)) {
 38886  		goto __472
 38887  	}
 38888  	d1 = d1&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 38889  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 38890  	goto __473
 38891  __472:
 38892  	if !(d1&0x04 == Tuint32_t(0)) {
 38893  		goto __474
 38894  	}
 38895  	d1 = d1&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 38896  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 38897  	goto __475
 38898  __474:
 38899  	d1 = d1&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 38900  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 38901  __475:
 38902  	;
 38903  __473:
 38904  	;
 38905  __471:
 38906  	;
 38907  __469:
 38908  	;
 38909  __467:
 38910  	;
 38911  
 38912  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d1 || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == d1) {
 38913  		goto __476
 38914  	}
 38915  	rrc = DMATCH_NOMATCH
 38916  	goto RETURN_SWITCH
 38917  __476:
 38918  	;
 38919  
 38920  	goto __460
 38921  __460:
 38922  	goto __459
 38923  	goto __461
 38924  __461:
 38925  	;
 38926  	goto __458
 38927  __457:
 38928  
 38929  	/* Not UTF mode */
 38930  
 38931  __477:
 38932  
 38933  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 38934  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM29
 38935  	goto MATCH_RECURSE
 38936  L_RM29:
 38937  	;
 38938  
 38939  	if !(rrc != DMATCH_NOMATCH) {
 38940  		goto __480
 38941  	}
 38942  	rrc = rrc
 38943  	goto RETURN_SWITCH
 38944  __480:
 38945  	;
 38946  
 38947  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 38948  		goto __481
 38949  	}
 38950  	rrc = DMATCH_NOMATCH
 38951  	goto RETURN_SWITCH
 38952  __481:
 38953  	;
 38954  
 38955  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 38956  		goto __482
 38957  	}
 38958  
 38959  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 38960  		goto __483
 38961  	}
 38962  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 38963  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 38964  		goto __484
 38965  	}
 38966  	return -2
 38967  __484:
 38968  	;
 38969  __483:
 38970  	;
 38971  
 38972  	rrc = DMATCH_NOMATCH
 38973  	goto RETURN_SWITCH
 38974  
 38975  __482:
 38976  	;
 38977  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 38978  		goto __485
 38979  	}
 38980  	rrc = DMATCH_NOMATCH
 38981  	goto RETURN_SWITCH
 38982  __485:
 38983  	;
 38984  
 38985  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 38986  	goto __478
 38987  __478:
 38988  	goto __477
 38989  	goto __479
 38990  __479:
 38991  	;
 38992  __458:
 38993  	;
 38994  	// Control never gets here
 38995  	goto __456
 38996  __455:
 38997  
 38998  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 38999  
 39000  	if !(utf != 0) {
 39001  		goto __486
 39002  	}
 39003  
 39004  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 39005  __488:
 39006  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 39007  		goto __490
 39008  	}
 39009  
 39010  	len = 1
 39011  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39012  		goto __491
 39013  	}
 39014  
 39015  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39016  		goto __492
 39017  	}
 39018  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39019  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39020  		goto __493
 39021  	}
 39022  	return -2
 39023  __493:
 39024  	;
 39025  __492:
 39026  	;
 39027  
 39028  	goto __490
 39029  __491:
 39030  	;
 39031  	d2 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 39032  	if !(d2 >= 0xc0) {
 39033  		goto __494
 39034  	}
 39035  	if !(d2&0x20 == Tuint32_t(0)) {
 39036  		goto __495
 39037  	}
 39038  	d2 = d2&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 39039  	len++
 39040  	goto __496
 39041  __495:
 39042  	if !(d2&0x10 == Tuint32_t(0)) {
 39043  		goto __497
 39044  	}
 39045  	d2 = d2&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 39046  	len = len + 2
 39047  	goto __498
 39048  __497:
 39049  	if !(d2&0x08 == Tuint32_t(0)) {
 39050  		goto __499
 39051  	}
 39052  	d2 = d2&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 39053  	len = len + 3
 39054  	goto __500
 39055  __499:
 39056  	if !(d2&0x04 == Tuint32_t(0)) {
 39057  		goto __501
 39058  	}
 39059  	d2 = d2&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 39060  	len = len + 4
 39061  	goto __502
 39062  __501:
 39063  	d2 = d2&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 39064  	len = len + 5
 39065  __502:
 39066  	;
 39067  __500:
 39068  	;
 39069  __498:
 39070  	;
 39071  __496:
 39072  	;
 39073  __494:
 39074  	;
 39075  
 39076  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d2 || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == d2) {
 39077  		goto __503
 39078  	}
 39079  	goto __490
 39080  __503:
 39081  	;
 39082  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len)
 39083  	goto __489
 39084  __489:
 39085  	i++
 39086  	goto __488
 39087  	goto __490
 39088  __490:
 39089  	;
 39090  
 39091  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 39092  	//           Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 39093  	//           go too far.
 39094  
 39095  	if !(reptype != REPTYPE_POS) {
 39096  		goto __504
 39097  	}
 39098  __505:
 39099  
 39100  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 39101  		goto __508
 39102  	}
 39103  	goto __507
 39104  __508:
 39105  	;
 39106  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39107  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM205
 39108  	goto MATCH_RECURSE
 39109  L_RM205:
 39110  	;
 39111  
 39112  	if !(rrc != DMATCH_NOMATCH) {
 39113  		goto __509
 39114  	}
 39115  	rrc = rrc
 39116  	goto RETURN_SWITCH
 39117  __509:
 39118  	;
 39119  
 39120  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39121  __510:
 39122  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 39123  		goto __511
 39124  	}
 39125  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39126  	goto __510
 39127  __511:
 39128  	;
 39129  	goto __506
 39130  __506:
 39131  	goto __505
 39132  	goto __507
 39133  __507:
 39134  	;
 39135  __504:
 39136  	;
 39137  	goto __487
 39138  __486:
 39139  
 39140  	/* Not UTF mode */
 39141  
 39142  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 39143  __512:
 39144  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 39145  		goto __514
 39146  	}
 39147  
 39148  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39149  		goto __515
 39150  	}
 39151  
 39152  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39153  		goto __516
 39154  	}
 39155  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39156  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39157  		goto __517
 39158  	}
 39159  	return -2
 39160  __517:
 39161  	;
 39162  __516:
 39163  	;
 39164  
 39165  	goto __514
 39166  __515:
 39167  	;
 39168  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 39169  		goto __518
 39170  	}
 39171  	goto __514
 39172  __518:
 39173  	;
 39174  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 39175  	goto __513
 39176  __513:
 39177  	i++
 39178  	goto __512
 39179  	goto __514
 39180  __514:
 39181  	;
 39182  	if !(reptype != REPTYPE_POS) {
 39183  		goto __519
 39184  	}
 39185  __520:
 39186  
 39187  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 39188  		goto __523
 39189  	}
 39190  	goto __522
 39191  __523:
 39192  	;
 39193  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39194  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM30
 39195  	goto MATCH_RECURSE
 39196  L_RM30:
 39197  	;
 39198  
 39199  	if !(rrc != DMATCH_NOMATCH) {
 39200  		goto __524
 39201  	}
 39202  	rrc = rrc
 39203  	goto RETURN_SWITCH
 39204  __524:
 39205  	;
 39206  
 39207  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39208  	goto __521
 39209  __521:
 39210  	goto __520
 39211  	goto __522
 39212  __522:
 39213  	;
 39214  __519:
 39215  	;
 39216  __487:
 39217  	;
 39218  __456:
 39219  	;
 39220  	goto __426
 39221  __425:
 39222  
 39223  	if !(utf != 0) {
 39224  		goto __525
 39225  	}
 39226  
 39227  	i = Tuint32_t(1)
 39228  __527:
 39229  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 39230  		goto __529
 39231  	}
 39232  
 39233  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39234  		goto __530
 39235  	}
 39236  
 39237  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39238  		goto __531
 39239  	}
 39240  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39241  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39242  		goto __532
 39243  	}
 39244  	return -2
 39245  __532:
 39246  	;
 39247  __531:
 39248  	;
 39249  
 39250  	rrc = DMATCH_NOMATCH
 39251  	goto RETURN_SWITCH
 39252  
 39253  __530:
 39254  	;
 39255  	d3 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 39256  	if !(d3 >= 0xc0) {
 39257  		goto __533
 39258  	}
 39259  	if !(d3&0x20 == Tuint32_t(0)) {
 39260  		goto __534
 39261  	}
 39262  	d3 = d3&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 39263  	goto __535
 39264  __534:
 39265  	if !(d3&0x10 == Tuint32_t(0)) {
 39266  		goto __536
 39267  	}
 39268  	d3 = d3&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 39269  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 39270  	goto __537
 39271  __536:
 39272  	if !(d3&0x08 == Tuint32_t(0)) {
 39273  		goto __538
 39274  	}
 39275  	d3 = d3&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 39276  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 39277  	goto __539
 39278  __538:
 39279  	if !(d3&0x04 == Tuint32_t(0)) {
 39280  		goto __540
 39281  	}
 39282  	d3 = d3&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 39283  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 39284  	goto __541
 39285  __540:
 39286  	d3 = d3&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 39287  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 39288  __541:
 39289  	;
 39290  __539:
 39291  	;
 39292  __537:
 39293  	;
 39294  __535:
 39295  	;
 39296  __533:
 39297  	;
 39298  
 39299  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d3) {
 39300  		goto __542
 39301  	}
 39302  	rrc = DMATCH_NOMATCH
 39303  	goto RETURN_SWITCH
 39304  __542:
 39305  	;
 39306  
 39307  	goto __528
 39308  __528:
 39309  	i++
 39310  	goto __527
 39311  	goto __529
 39312  __529:
 39313  	;
 39314  	goto __526
 39315  __525:
 39316  	/* Not UTF mode */
 39317  
 39318  	i = Tuint32_t(1)
 39319  __543:
 39320  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 39321  		goto __545
 39322  	}
 39323  
 39324  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39325  		goto __546
 39326  	}
 39327  
 39328  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39329  		goto __547
 39330  	}
 39331  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39332  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39333  		goto __548
 39334  	}
 39335  	return -2
 39336  __548:
 39337  	;
 39338  __547:
 39339  	;
 39340  
 39341  	rrc = DMATCH_NOMATCH
 39342  	goto RETURN_SWITCH
 39343  
 39344  __546:
 39345  	;
 39346  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 39347  		goto __549
 39348  	}
 39349  	rrc = DMATCH_NOMATCH
 39350  	goto RETURN_SWITCH
 39351  __549:
 39352  	;
 39353  
 39354  	goto __544
 39355  __544:
 39356  	i++
 39357  	goto __543
 39358  	goto __545
 39359  __545:
 39360  	;
 39361  __526:
 39362  	;
 39363  
 39364  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 39365  		goto __550
 39366  	}
 39367  	goto __11
 39368  __550:
 39369  	;
 39370  
 39371  	if !(reptype == REPTYPE_MIN) {
 39372  		goto __551
 39373  	}
 39374  
 39375  	if !(utf != 0) {
 39376  		goto __553
 39377  	}
 39378  
 39379  __555:
 39380  
 39381  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39382  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM206
 39383  	goto MATCH_RECURSE
 39384  L_RM206:
 39385  	;
 39386  
 39387  	if !(rrc != DMATCH_NOMATCH) {
 39388  		goto __558
 39389  	}
 39390  	rrc = rrc
 39391  	goto RETURN_SWITCH
 39392  __558:
 39393  	;
 39394  
 39395  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 39396  		goto __559
 39397  	}
 39398  	rrc = DMATCH_NOMATCH
 39399  	goto RETURN_SWITCH
 39400  __559:
 39401  	;
 39402  
 39403  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39404  		goto __560
 39405  	}
 39406  
 39407  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39408  		goto __561
 39409  	}
 39410  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39411  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39412  		goto __562
 39413  	}
 39414  	return -2
 39415  __562:
 39416  	;
 39417  __561:
 39418  	;
 39419  
 39420  	rrc = DMATCH_NOMATCH
 39421  	goto RETURN_SWITCH
 39422  
 39423  __560:
 39424  	;
 39425  	d4 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 39426  	if !(d4 >= 0xc0) {
 39427  		goto __563
 39428  	}
 39429  	if !(d4&0x20 == Tuint32_t(0)) {
 39430  		goto __564
 39431  	}
 39432  	d4 = d4&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 39433  	goto __565
 39434  __564:
 39435  	if !(d4&0x10 == Tuint32_t(0)) {
 39436  		goto __566
 39437  	}
 39438  	d4 = d4&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 39439  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 39440  	goto __567
 39441  __566:
 39442  	if !(d4&0x08 == Tuint32_t(0)) {
 39443  		goto __568
 39444  	}
 39445  	d4 = d4&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 39446  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 39447  	goto __569
 39448  __568:
 39449  	if !(d4&0x04 == Tuint32_t(0)) {
 39450  		goto __570
 39451  	}
 39452  	d4 = d4&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 39453  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 39454  	goto __571
 39455  __570:
 39456  	d4 = d4&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 39457  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 39458  __571:
 39459  	;
 39460  __569:
 39461  	;
 39462  __567:
 39463  	;
 39464  __565:
 39465  	;
 39466  __563:
 39467  	;
 39468  
 39469  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d4) {
 39470  		goto __572
 39471  	}
 39472  	rrc = DMATCH_NOMATCH
 39473  	goto RETURN_SWITCH
 39474  __572:
 39475  	;
 39476  
 39477  	goto __556
 39478  __556:
 39479  	goto __555
 39480  	goto __557
 39481  __557:
 39482  	;
 39483  	goto __554
 39484  __553:
 39485  	/* Not UTF mode */
 39486  
 39487  __573:
 39488  
 39489  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39490  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM31
 39491  	goto MATCH_RECURSE
 39492  L_RM31:
 39493  	;
 39494  
 39495  	if !(rrc != DMATCH_NOMATCH) {
 39496  		goto __576
 39497  	}
 39498  	rrc = rrc
 39499  	goto RETURN_SWITCH
 39500  __576:
 39501  	;
 39502  
 39503  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 39504  		goto __577
 39505  	}
 39506  	rrc = DMATCH_NOMATCH
 39507  	goto RETURN_SWITCH
 39508  __577:
 39509  	;
 39510  
 39511  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39512  		goto __578
 39513  	}
 39514  
 39515  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39516  		goto __579
 39517  	}
 39518  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39519  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39520  		goto __580
 39521  	}
 39522  	return -2
 39523  __580:
 39524  	;
 39525  __579:
 39526  	;
 39527  
 39528  	rrc = DMATCH_NOMATCH
 39529  	goto RETURN_SWITCH
 39530  
 39531  __578:
 39532  	;
 39533  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))) {
 39534  		goto __581
 39535  	}
 39536  	rrc = DMATCH_NOMATCH
 39537  	goto RETURN_SWITCH
 39538  __581:
 39539  	;
 39540  
 39541  	goto __574
 39542  __574:
 39543  	goto __573
 39544  	goto __575
 39545  __575:
 39546  	;
 39547  __554:
 39548  	;
 39549  	// Control never gets here
 39550  	goto __552
 39551  __551:
 39552  
 39553  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 39554  
 39555  	if !(utf != 0) {
 39556  		goto __582
 39557  	}
 39558  
 39559  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 39560  __584:
 39561  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 39562  		goto __586
 39563  	}
 39564  
 39565  	len1 = 1
 39566  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39567  		goto __587
 39568  	}
 39569  
 39570  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39571  		goto __588
 39572  	}
 39573  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39574  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39575  		goto __589
 39576  	}
 39577  	return -2
 39578  __589:
 39579  	;
 39580  __588:
 39581  	;
 39582  
 39583  	goto __586
 39584  __587:
 39585  	;
 39586  	d5 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 39587  	if !(d5 >= 0xc0) {
 39588  		goto __590
 39589  	}
 39590  	if !(d5&0x20 == Tuint32_t(0)) {
 39591  		goto __591
 39592  	}
 39593  	d5 = d5&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 39594  	len1++
 39595  	goto __592
 39596  __591:
 39597  	if !(d5&0x10 == Tuint32_t(0)) {
 39598  		goto __593
 39599  	}
 39600  	d5 = d5&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 39601  	len1 = len1 + 2
 39602  	goto __594
 39603  __593:
 39604  	if !(d5&0x08 == Tuint32_t(0)) {
 39605  		goto __595
 39606  	}
 39607  	d5 = d5&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 39608  	len1 = len1 + 3
 39609  	goto __596
 39610  __595:
 39611  	if !(d5&0x04 == Tuint32_t(0)) {
 39612  		goto __597
 39613  	}
 39614  	d5 = d5&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 39615  	len1 = len1 + 4
 39616  	goto __598
 39617  __597:
 39618  	d5 = d5&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 39619  	len1 = len1 + 5
 39620  __598:
 39621  	;
 39622  __596:
 39623  	;
 39624  __594:
 39625  	;
 39626  __592:
 39627  	;
 39628  __590:
 39629  	;
 39630  
 39631  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == d5) {
 39632  		goto __599
 39633  	}
 39634  	goto __586
 39635  __599:
 39636  	;
 39637  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len1)
 39638  	goto __585
 39639  __585:
 39640  	i++
 39641  	goto __584
 39642  	goto __586
 39643  __586:
 39644  	;
 39645  
 39646  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 39647  	//           Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 39648  	//           go too far.
 39649  
 39650  	if !(reptype != REPTYPE_POS) {
 39651  		goto __600
 39652  	}
 39653  __601:
 39654  
 39655  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 39656  		goto __604
 39657  	}
 39658  	goto __603
 39659  __604:
 39660  	;
 39661  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39662  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM207
 39663  	goto MATCH_RECURSE
 39664  L_RM207:
 39665  	;
 39666  
 39667  	if !(rrc != DMATCH_NOMATCH) {
 39668  		goto __605
 39669  	}
 39670  	rrc = rrc
 39671  	goto RETURN_SWITCH
 39672  __605:
 39673  	;
 39674  
 39675  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39676  __606:
 39677  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 39678  		goto __607
 39679  	}
 39680  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39681  	goto __606
 39682  __607:
 39683  	;
 39684  	goto __602
 39685  __602:
 39686  	goto __601
 39687  	goto __603
 39688  __603:
 39689  	;
 39690  __600:
 39691  	;
 39692  	goto __583
 39693  __582:
 39694  	/* Not UTF mode */
 39695  
 39696  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 39697  __608:
 39698  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 39699  		goto __610
 39700  	}
 39701  
 39702  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39703  		goto __611
 39704  	}
 39705  
 39706  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39707  		goto __612
 39708  	}
 39709  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39710  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39711  		goto __613
 39712  	}
 39713  	return -2
 39714  __613:
 39715  	;
 39716  __612:
 39717  	;
 39718  
 39719  	goto __610
 39720  __611:
 39721  	;
 39722  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))) {
 39723  		goto __614
 39724  	}
 39725  	goto __610
 39726  __614:
 39727  	;
 39728  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 39729  	goto __609
 39730  __609:
 39731  	i++
 39732  	goto __608
 39733  	goto __610
 39734  __610:
 39735  	;
 39736  	if !(reptype != REPTYPE_POS) {
 39737  		goto __615
 39738  	}
 39739  __616:
 39740  
 39741  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 39742  		goto __619
 39743  	}
 39744  	goto __618
 39745  __619:
 39746  	;
 39747  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 39748  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM32
 39749  	goto MATCH_RECURSE
 39750  L_RM32:
 39751  	;
 39752  
 39753  	if !(rrc != DMATCH_NOMATCH) {
 39754  		goto __620
 39755  	}
 39756  	rrc = rrc
 39757  	goto RETURN_SWITCH
 39758  __620:
 39759  	;
 39760  
 39761  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 39762  	goto __617
 39763  __617:
 39764  	goto __616
 39765  	goto __618
 39766  __618:
 39767  	;
 39768  __615:
 39769  	;
 39770  __583:
 39771  	;
 39772  __552:
 39773  	;
 39774  __426:
 39775  	;
 39776  	goto __13
 39777  
 39778  	// =====================================================================
 39779  	// Match a bit-mapped character class, possibly repeatedly. These opcodes
 39780  	//     are used when all the characters in the class have values in the range
 39781  	//     0-255, and either the matching is caseful, or the characters are in the
 39782  	//     range 0-127 when UTF processing is enabled. The only difference between
 39783  	//     OP_CLASS and OP_NCLASS occurs when a data character outside the range is
 39784  	//     encountered.
 39785  
 39786  __77:
 39787  __78:
 39788  
 39789  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1) // Save for matching
 39790  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint64(1) + uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))) // Advance past the item
 39791  
 39792  	// Look past the end of the item to see if there is repeat information
 39793  	//       following. Then obey similar code to character type repeats.
 39794  
 39795  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) {
 39796  	case OP_CRSTAR:
 39797  		goto __622
 39798  	case OP_CRMINSTAR:
 39799  		goto __623
 39800  	case OP_CRPLUS:
 39801  		goto __624
 39802  	case OP_CRMINPLUS:
 39803  		goto __625
 39804  	case OP_CRQUERY:
 39805  		goto __626
 39806  	case OP_CRMINQUERY:
 39807  		goto __627
 39808  	case OP_CRPOSSTAR:
 39809  		goto __628
 39810  	case OP_CRPOSPLUS:
 39811  		goto __629
 39812  	case OP_CRPOSQUERY:
 39813  		goto __630
 39814  
 39815  	case OP_CRRANGE:
 39816  		goto __631
 39817  	case OP_CRMINRANGE:
 39818  		goto __632
 39819  	case OP_CRPOSRANGE:
 39820  		goto __633
 39821  
 39822  	default:
 39823  		goto __634
 39824  	}
 39825  	goto __621
 39826  
 39827  __622:
 39828  __623:
 39829  __624:
 39830  __625:
 39831  __626:
 39832  __627:
 39833  __628:
 39834  __629:
 39835  __630:
 39836  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_CRSTAR)
 39837  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc]
 39838  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc]
 39839  	reptype = rep_typ[fc]
 39840  	goto __621
 39841  
 39842  __631:
 39843  __632:
 39844  __633:
 39845  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 39846  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4))))
 39847  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) == Tuint32_t(0)) {
 39848  		goto __635
 39849  	}
 39850  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 39851  __635:
 39852  	; // Max 0 => infinity
 39853  	reptype = rep_typ[int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))-OP_CRSTAR]
 39854  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 39855  	goto __621
 39856  
 39857  __634: // No repeat follows
 39858  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, Tuint32_t(1))
 39859  	goto __621
 39860  __621:
 39861  	;
 39862  
 39863  	// First, ensure the minimum number of matches are present.
 39864  
 39865  	if !(utf != 0) {
 39866  		goto __636
 39867  	}
 39868  
 39869  	i = Tuint32_t(1)
 39870  __638:
 39871  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 39872  		goto __640
 39873  	}
 39874  
 39875  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39876  		goto __641
 39877  	}
 39878  
 39879  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39880  		goto __642
 39881  	}
 39882  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39883  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39884  		goto __643
 39885  	}
 39886  	return -2
 39887  __643:
 39888  	;
 39889  __642:
 39890  	;
 39891  
 39892  	rrc = DMATCH_NOMATCH
 39893  	goto RETURN_SWITCH
 39894  
 39895  __641:
 39896  	;
 39897  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 39898  	if !(fc >= 0xc0) {
 39899  		goto __644
 39900  	}
 39901  	if !(fc&0x20 == Tuint32_t(0)) {
 39902  		goto __645
 39903  	}
 39904  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 39905  	goto __646
 39906  __645:
 39907  	if !(fc&0x10 == Tuint32_t(0)) {
 39908  		goto __647
 39909  	}
 39910  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 39911  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 39912  	goto __648
 39913  __647:
 39914  	if !(fc&0x08 == Tuint32_t(0)) {
 39915  		goto __649
 39916  	}
 39917  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 39918  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 39919  	goto __650
 39920  __649:
 39921  	if !(fc&0x04 == Tuint32_t(0)) {
 39922  		goto __651
 39923  	}
 39924  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 39925  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 39926  	goto __652
 39927  __651:
 39928  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 39929  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 39930  __652:
 39931  	;
 39932  __650:
 39933  	;
 39934  __648:
 39935  	;
 39936  __646:
 39937  	;
 39938  __644:
 39939  	;
 39940  
 39941  	if !(fc > Tuint32_t(255)) {
 39942  		goto __653
 39943  	}
 39944  
 39945  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_CLASS) {
 39946  		goto __655
 39947  	}
 39948  	rrc = DMATCH_NOMATCH
 39949  	goto RETURN_SWITCH
 39950  __655:
 39951  	;
 39952  
 39953  	goto __654
 39954  __653:
 39955  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 39956  		goto __656
 39957  	}
 39958  	rrc = DMATCH_NOMATCH
 39959  	goto RETURN_SWITCH
 39960  __656:
 39961  	;
 39962  __654:
 39963  	;
 39964  
 39965  	goto __639
 39966  __639:
 39967  	i++
 39968  	goto __638
 39969  	goto __640
 39970  __640:
 39971  	;
 39972  	goto __637
 39973  __636:
 39974  	/* Not UTF mode */
 39975  
 39976  	i = Tuint32_t(1)
 39977  __657:
 39978  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 39979  		goto __659
 39980  	}
 39981  
 39982  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 39983  		goto __660
 39984  	}
 39985  
 39986  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 39987  		goto __661
 39988  	}
 39989  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 39990  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 39991  		goto __662
 39992  	}
 39993  	return -2
 39994  __662:
 39995  	;
 39996  __661:
 39997  	;
 39998  
 39999  	rrc = DMATCH_NOMATCH
 40000  	goto RETURN_SWITCH
 40001  
 40002  __660:
 40003  	;
 40004  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40005  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 40006  		goto __663
 40007  	}
 40008  	rrc = DMATCH_NOMATCH
 40009  	goto RETURN_SWITCH
 40010  __663:
 40011  	;
 40012  
 40013  	goto __658
 40014  __658:
 40015  	i++
 40016  	goto __657
 40017  	goto __659
 40018  __659:
 40019  	;
 40020  __637:
 40021  	;
 40022  
 40023  	// If Lmax == Lmin we are done. Continue with main loop.
 40024  
 40025  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40026  		goto __664
 40027  	}
 40028  	goto __11
 40029  __664:
 40030  	;
 40031  
 40032  	// If minimizing, keep testing the rest of the expression and advancing
 40033  	//       the pointer while it matches the class.
 40034  
 40035  	if !(reptype == REPTYPE_MIN) {
 40036  		goto __665
 40037  	}
 40038  
 40039  	if !(utf != 0) {
 40040  		goto __667
 40041  	}
 40042  
 40043  __669:
 40044  
 40045  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40046  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM200
 40047  	goto MATCH_RECURSE
 40048  L_RM200:
 40049  	;
 40050  
 40051  	if !(rrc != DMATCH_NOMATCH) {
 40052  		goto __672
 40053  	}
 40054  	rrc = rrc
 40055  	goto RETURN_SWITCH
 40056  __672:
 40057  	;
 40058  
 40059  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40060  		goto __673
 40061  	}
 40062  	rrc = DMATCH_NOMATCH
 40063  	goto RETURN_SWITCH
 40064  __673:
 40065  	;
 40066  
 40067  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40068  		goto __674
 40069  	}
 40070  
 40071  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40072  		goto __675
 40073  	}
 40074  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40075  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40076  		goto __676
 40077  	}
 40078  	return -2
 40079  __676:
 40080  	;
 40081  __675:
 40082  	;
 40083  
 40084  	rrc = DMATCH_NOMATCH
 40085  	goto RETURN_SWITCH
 40086  
 40087  __674:
 40088  	;
 40089  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40090  	if !(fc >= 0xc0) {
 40091  		goto __677
 40092  	}
 40093  	if !(fc&0x20 == Tuint32_t(0)) {
 40094  		goto __678
 40095  	}
 40096  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 40097  	goto __679
 40098  __678:
 40099  	if !(fc&0x10 == Tuint32_t(0)) {
 40100  		goto __680
 40101  	}
 40102  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 40103  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 40104  	goto __681
 40105  __680:
 40106  	if !(fc&0x08 == Tuint32_t(0)) {
 40107  		goto __682
 40108  	}
 40109  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 40110  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 40111  	goto __683
 40112  __682:
 40113  	if !(fc&0x04 == Tuint32_t(0)) {
 40114  		goto __684
 40115  	}
 40116  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 40117  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 40118  	goto __685
 40119  __684:
 40120  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 40121  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 40122  __685:
 40123  	;
 40124  __683:
 40125  	;
 40126  __681:
 40127  	;
 40128  __679:
 40129  	;
 40130  __677:
 40131  	;
 40132  
 40133  	if !(fc > Tuint32_t(255)) {
 40134  		goto __686
 40135  	}
 40136  
 40137  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_CLASS) {
 40138  		goto __688
 40139  	}
 40140  	rrc = DMATCH_NOMATCH
 40141  	goto RETURN_SWITCH
 40142  __688:
 40143  	;
 40144  
 40145  	goto __687
 40146  __686:
 40147  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 40148  		goto __689
 40149  	}
 40150  	rrc = DMATCH_NOMATCH
 40151  	goto RETURN_SWITCH
 40152  __689:
 40153  	;
 40154  __687:
 40155  	;
 40156  
 40157  	goto __670
 40158  __670:
 40159  	goto __669
 40160  	goto __671
 40161  __671:
 40162  	;
 40163  	goto __668
 40164  __667:
 40165  	/* Not UTF mode */
 40166  
 40167  __690:
 40168  
 40169  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40170  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM23
 40171  	goto MATCH_RECURSE
 40172  L_RM23:
 40173  	;
 40174  
 40175  	if !(rrc != DMATCH_NOMATCH) {
 40176  		goto __693
 40177  	}
 40178  	rrc = rrc
 40179  	goto RETURN_SWITCH
 40180  __693:
 40181  	;
 40182  
 40183  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40184  		goto __694
 40185  	}
 40186  	rrc = DMATCH_NOMATCH
 40187  	goto RETURN_SWITCH
 40188  __694:
 40189  	;
 40190  
 40191  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40192  		goto __695
 40193  	}
 40194  
 40195  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40196  		goto __696
 40197  	}
 40198  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40199  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40200  		goto __697
 40201  	}
 40202  	return -2
 40203  __697:
 40204  	;
 40205  __696:
 40206  	;
 40207  
 40208  	rrc = DMATCH_NOMATCH
 40209  	goto RETURN_SWITCH
 40210  
 40211  __695:
 40212  	;
 40213  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40214  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 40215  		goto __698
 40216  	}
 40217  	rrc = DMATCH_NOMATCH
 40218  	goto RETURN_SWITCH
 40219  __698:
 40220  	;
 40221  
 40222  	goto __691
 40223  __691:
 40224  	goto __690
 40225  	goto __692
 40226  __692:
 40227  	;
 40228  __668:
 40229  	;
 40230  	// Control never gets here
 40231  	goto __666
 40232  __665:
 40233  
 40234  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 40235  
 40236  	if !(utf != 0) {
 40237  		goto __699
 40238  	}
 40239  
 40240  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 40241  __701:
 40242  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40243  		goto __703
 40244  	}
 40245  
 40246  	len2 = 1
 40247  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40248  		goto __704
 40249  	}
 40250  
 40251  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40252  		goto __705
 40253  	}
 40254  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40255  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40256  		goto __706
 40257  	}
 40258  	return -2
 40259  __706:
 40260  	;
 40261  __705:
 40262  	;
 40263  
 40264  	goto __703
 40265  __704:
 40266  	;
 40267  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 40268  	if !(fc >= 0xc0) {
 40269  		goto __707
 40270  	}
 40271  	if !(fc&0x20 == Tuint32_t(0)) {
 40272  		goto __708
 40273  	}
 40274  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 40275  	len2++
 40276  	goto __709
 40277  __708:
 40278  	if !(fc&0x10 == Tuint32_t(0)) {
 40279  		goto __710
 40280  	}
 40281  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 40282  	len2 = len2 + 2
 40283  	goto __711
 40284  __710:
 40285  	if !(fc&0x08 == Tuint32_t(0)) {
 40286  		goto __712
 40287  	}
 40288  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 40289  	len2 = len2 + 3
 40290  	goto __713
 40291  __712:
 40292  	if !(fc&0x04 == Tuint32_t(0)) {
 40293  		goto __714
 40294  	}
 40295  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 40296  	len2 = len2 + 4
 40297  	goto __715
 40298  __714:
 40299  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 40300  	len2 = len2 + 5
 40301  __715:
 40302  	;
 40303  __713:
 40304  	;
 40305  __711:
 40306  	;
 40307  __709:
 40308  	;
 40309  __707:
 40310  	;
 40311  
 40312  	if !(fc > Tuint32_t(255)) {
 40313  		goto __716
 40314  	}
 40315  
 40316  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_CLASS) {
 40317  		goto __718
 40318  	}
 40319  	goto __703
 40320  __718:
 40321  	;
 40322  	goto __717
 40323  __716:
 40324  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 40325  		goto __719
 40326  	}
 40327  	goto __703
 40328  __719:
 40329  	;
 40330  __717:
 40331  	;
 40332  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len2)
 40333  	goto __702
 40334  __702:
 40335  	i++
 40336  	goto __701
 40337  	goto __703
 40338  __703:
 40339  	;
 40340  
 40341  	if !(reptype == REPTYPE_POS) {
 40342  		goto __720
 40343  	}
 40344  	goto __11
 40345  __720:
 40346  	; // No backtracking
 40347  
 40348  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 40349  	//           Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 40350  	//           go too far.
 40351  
 40352  __721:
 40353  
 40354  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40355  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM201
 40356  	goto MATCH_RECURSE
 40357  L_RM201:
 40358  	;
 40359  
 40360  	if !(rrc != DMATCH_NOMATCH) {
 40361  		goto __724
 40362  	}
 40363  	rrc = rrc
 40364  	goto RETURN_SWITCH
 40365  __724:
 40366  	;
 40367  
 40368  	if !(libc.PostDecUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 40369  		goto __725
 40370  	}
 40371  	goto __723
 40372  __725:
 40373  	; // Tried at original position
 40374  __726:
 40375  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 40376  		goto __727
 40377  	}
 40378  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 40379  	goto __726
 40380  __727:
 40381  	;
 40382  	goto __722
 40383  __722:
 40384  	goto __721
 40385  	goto __723
 40386  __723:
 40387  	;
 40388  	goto __700
 40389  __699:
 40390  	/* Not UTF mode */
 40391  
 40392  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 40393  __728:
 40394  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40395  		goto __730
 40396  	}
 40397  
 40398  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40399  		goto __731
 40400  	}
 40401  
 40402  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40403  		goto __732
 40404  	}
 40405  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40406  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40407  		goto __733
 40408  	}
 40409  	return -2
 40410  __733:
 40411  	;
 40412  __732:
 40413  	;
 40414  
 40415  	goto __730
 40416  __731:
 40417  	;
 40418  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 40419  	if !(uint32(*(*uint8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) + uintptr(fc/Tuint32_t(8)))))&(uint32(1)<<(fc&Tuint32_t(7))) == uint32(0)) {
 40420  		goto __734
 40421  	}
 40422  	goto __730
 40423  __734:
 40424  	;
 40425  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 40426  	goto __729
 40427  __729:
 40428  	i++
 40429  	goto __728
 40430  	goto __730
 40431  __730:
 40432  	;
 40433  
 40434  	if !(reptype == REPTYPE_POS) {
 40435  		goto __735
 40436  	}
 40437  	goto __11
 40438  __735:
 40439  	; // No backtracking
 40440  
 40441  __736:
 40442  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 40443  		goto __737
 40444  	}
 40445  
 40446  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40447  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM24
 40448  	goto MATCH_RECURSE
 40449  L_RM24:
 40450  	;
 40451  
 40452  	if !(rrc != DMATCH_NOMATCH) {
 40453  		goto __738
 40454  	}
 40455  	rrc = rrc
 40456  	goto RETURN_SWITCH
 40457  __738:
 40458  	;
 40459  
 40460  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 40461  	goto __736
 40462  __737:
 40463  	;
 40464  __700:
 40465  	;
 40466  
 40467  	rrc = DMATCH_NOMATCH
 40468  	goto RETURN_SWITCH
 40469  
 40470  __666:
 40471  	;
 40472  
 40473  	// Control never gets here
 40474  
 40475  	// =====================================================================
 40476  	// Match an extended character class. In the 8-bit library, this opcode is
 40477  	//     encountered only when UTF-8 mode mode is supported. In the 16-bit and
 40478  	//     32-bit libraries, codepoints greater than 255 may be encountered even when
 40479  	//     UTF is not supported.
 40480  
 40481  __79:
 40482  
 40483  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1) + uintptr(DLINK_SIZE) // Save for matching
 40484  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) // Advance past the item
 40485  
 40486  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) {
 40487  	case OP_CRSTAR:
 40488  		goto __740
 40489  	case OP_CRMINSTAR:
 40490  		goto __741
 40491  	case OP_CRPLUS:
 40492  		goto __742
 40493  	case OP_CRMINPLUS:
 40494  		goto __743
 40495  	case OP_CRQUERY:
 40496  		goto __744
 40497  	case OP_CRMINQUERY:
 40498  		goto __745
 40499  	case OP_CRPOSSTAR:
 40500  		goto __746
 40501  	case OP_CRPOSPLUS:
 40502  		goto __747
 40503  	case OP_CRPOSQUERY:
 40504  		goto __748
 40505  
 40506  	case OP_CRRANGE:
 40507  		goto __749
 40508  	case OP_CRMINRANGE:
 40509  		goto __750
 40510  	case OP_CRPOSRANGE:
 40511  		goto __751
 40512  
 40513  	default:
 40514  		goto __752
 40515  	}
 40516  	goto __739
 40517  
 40518  __740:
 40519  __741:
 40520  __742:
 40521  __743:
 40522  __744:
 40523  __745:
 40524  __746:
 40525  __747:
 40526  __748:
 40527  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_CRSTAR)
 40528  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc]
 40529  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc]
 40530  	reptype = rep_typ[fc]
 40531  	goto __739
 40532  
 40533  __749:
 40534  __750:
 40535  __751:
 40536  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 40537  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4))))
 40538  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) == Tuint32_t(0)) {
 40539  		goto __753
 40540  	}
 40541  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 40542  __753:
 40543  	; // Max 0 => infinity
 40544  	reptype = rep_typ[int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))-OP_CRSTAR]
 40545  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 40546  	goto __739
 40547  
 40548  __752: // No repeat follows
 40549  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, Tuint32_t(1))
 40550  	goto __739
 40551  __739:
 40552  	;
 40553  
 40554  	// First, ensure the minimum number of matches are present.
 40555  
 40556  	i = Tuint32_t(1)
 40557  __754:
 40558  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 40559  		goto __756
 40560  	}
 40561  
 40562  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40563  		goto __757
 40564  	}
 40565  
 40566  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40567  		goto __758
 40568  	}
 40569  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40570  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40571  		goto __759
 40572  	}
 40573  	return -2
 40574  __759:
 40575  	;
 40576  __758:
 40577  	;
 40578  
 40579  	rrc = DMATCH_NOMATCH
 40580  	goto RETURN_SWITCH
 40581  
 40582  __757:
 40583  	;
 40584  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40585  	if !(utf != 0 && fc >= 0xc0) {
 40586  		goto __760
 40587  	}
 40588  	if !(fc&0x20 == Tuint32_t(0)) {
 40589  		goto __761
 40590  	}
 40591  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 40592  	goto __762
 40593  __761:
 40594  	if !(fc&0x10 == Tuint32_t(0)) {
 40595  		goto __763
 40596  	}
 40597  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 40598  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 40599  	goto __764
 40600  __763:
 40601  	if !(fc&0x08 == Tuint32_t(0)) {
 40602  		goto __765
 40603  	}
 40604  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 40605  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 40606  	goto __766
 40607  __765:
 40608  	if !(fc&0x04 == Tuint32_t(0)) {
 40609  		goto __767
 40610  	}
 40611  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 40612  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 40613  	goto __768
 40614  __767:
 40615  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 40616  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 40617  __768:
 40618  	;
 40619  __766:
 40620  	;
 40621  __764:
 40622  	;
 40623  __762:
 40624  	;
 40625  __760:
 40626  	;
 40627  
 40628  	if !!(X_pcre2_xclass_8(tls, fc, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), utf) != 0) {
 40629  		goto __769
 40630  	}
 40631  	rrc = DMATCH_NOMATCH
 40632  	goto RETURN_SWITCH
 40633  __769:
 40634  	;
 40635  
 40636  	goto __755
 40637  __755:
 40638  	i++
 40639  	goto __754
 40640  	goto __756
 40641  __756:
 40642  	;
 40643  
 40644  	// If Lmax == Lmin we can just continue with the main loop.
 40645  
 40646  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40647  		goto __770
 40648  	}
 40649  	goto __11
 40650  __770:
 40651  	;
 40652  
 40653  	// If minimizing, keep testing the rest of the expression and advancing
 40654  	//       the pointer while it matches the class.
 40655  
 40656  	if !(reptype == REPTYPE_MIN) {
 40657  		goto __771
 40658  	}
 40659  
 40660  __773:
 40661  
 40662  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40663  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM100
 40664  	goto MATCH_RECURSE
 40665  L_RM100:
 40666  	;
 40667  
 40668  	if !(rrc != DMATCH_NOMATCH) {
 40669  		goto __776
 40670  	}
 40671  	rrc = rrc
 40672  	goto RETURN_SWITCH
 40673  __776:
 40674  	;
 40675  
 40676  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40677  		goto __777
 40678  	}
 40679  	rrc = DMATCH_NOMATCH
 40680  	goto RETURN_SWITCH
 40681  __777:
 40682  	;
 40683  
 40684  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40685  		goto __778
 40686  	}
 40687  
 40688  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40689  		goto __779
 40690  	}
 40691  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40692  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40693  		goto __780
 40694  	}
 40695  	return -2
 40696  __780:
 40697  	;
 40698  __779:
 40699  	;
 40700  
 40701  	rrc = DMATCH_NOMATCH
 40702  	goto RETURN_SWITCH
 40703  
 40704  __778:
 40705  	;
 40706  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40707  	if !(utf != 0 && fc >= 0xc0) {
 40708  		goto __781
 40709  	}
 40710  	if !(fc&0x20 == Tuint32_t(0)) {
 40711  		goto __782
 40712  	}
 40713  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 40714  	goto __783
 40715  __782:
 40716  	if !(fc&0x10 == Tuint32_t(0)) {
 40717  		goto __784
 40718  	}
 40719  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 40720  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 40721  	goto __785
 40722  __784:
 40723  	if !(fc&0x08 == Tuint32_t(0)) {
 40724  		goto __786
 40725  	}
 40726  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 40727  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 40728  	goto __787
 40729  __786:
 40730  	if !(fc&0x04 == Tuint32_t(0)) {
 40731  		goto __788
 40732  	}
 40733  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 40734  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 40735  	goto __789
 40736  __788:
 40737  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 40738  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 40739  __789:
 40740  	;
 40741  __787:
 40742  	;
 40743  __785:
 40744  	;
 40745  __783:
 40746  	;
 40747  __781:
 40748  	;
 40749  
 40750  	if !!(X_pcre2_xclass_8(tls, fc, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), utf) != 0) {
 40751  		goto __790
 40752  	}
 40753  	rrc = DMATCH_NOMATCH
 40754  	goto RETURN_SWITCH
 40755  __790:
 40756  	;
 40757  
 40758  	goto __774
 40759  __774:
 40760  	goto __773
 40761  	goto __775
 40762  __775:
 40763  	;
 40764  	// Control never gets here
 40765  	goto __772
 40766  __771:
 40767  
 40768  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr
 40769  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 40770  __791:
 40771  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 40772  		goto __793
 40773  	}
 40774  
 40775  	len3 = 1
 40776  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40777  		goto __794
 40778  	}
 40779  
 40780  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40781  		goto __795
 40782  	}
 40783  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40784  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40785  		goto __796
 40786  	}
 40787  	return -2
 40788  __796:
 40789  	;
 40790  __795:
 40791  	;
 40792  
 40793  	goto __793
 40794  __794:
 40795  	;
 40796  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 40797  	if !(utf != 0 && fc >= 0xc0) {
 40798  		goto __797
 40799  	}
 40800  	if !(fc&0x20 == Tuint32_t(0)) {
 40801  		goto __798
 40802  	}
 40803  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 40804  	len3++
 40805  	goto __799
 40806  __798:
 40807  	if !(fc&0x10 == Tuint32_t(0)) {
 40808  		goto __800
 40809  	}
 40810  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 40811  	len3 = len3 + 2
 40812  	goto __801
 40813  __800:
 40814  	if !(fc&0x08 == Tuint32_t(0)) {
 40815  		goto __802
 40816  	}
 40817  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 40818  	len3 = len3 + 3
 40819  	goto __803
 40820  __802:
 40821  	if !(fc&0x04 == Tuint32_t(0)) {
 40822  		goto __804
 40823  	}
 40824  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 40825  	len3 = len3 + 4
 40826  	goto __805
 40827  __804:
 40828  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 40829  	len3 = len3 + 5
 40830  __805:
 40831  	;
 40832  __803:
 40833  	;
 40834  __801:
 40835  	;
 40836  __799:
 40837  	;
 40838  __797:
 40839  	;
 40840  
 40841  	if !!(X_pcre2_xclass_8(tls, fc, *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)), utf) != 0) {
 40842  		goto __806
 40843  	}
 40844  	goto __793
 40845  __806:
 40846  	;
 40847  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len3)
 40848  	goto __792
 40849  __792:
 40850  	i++
 40851  	goto __791
 40852  	goto __793
 40853  __793:
 40854  	;
 40855  
 40856  	if !(reptype == REPTYPE_POS) {
 40857  		goto __807
 40858  	}
 40859  	goto __11
 40860  __807:
 40861  	; // No backtracking
 40862  
 40863  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 40864  	//         Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 40865  	//         go too far.
 40866  
 40867  __808:
 40868  
 40869  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 40870  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM101
 40871  	goto MATCH_RECURSE
 40872  L_RM101:
 40873  	;
 40874  
 40875  	if !(rrc != DMATCH_NOMATCH) {
 40876  		goto __811
 40877  	}
 40878  	rrc = rrc
 40879  	goto RETURN_SWITCH
 40880  __811:
 40881  	;
 40882  
 40883  	if !(libc.PostDecUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 40884  		goto __812
 40885  	}
 40886  	goto __810
 40887  __812:
 40888  	; // Tried at original position
 40889  	if !(utf != 0) {
 40890  		goto __813
 40891  	}
 40892  __814:
 40893  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 40894  		goto __815
 40895  	}
 40896  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 40897  	goto __814
 40898  __815:
 40899  	;
 40900  __813:
 40901  	;
 40902  	goto __809
 40903  __809:
 40904  	goto __808
 40905  	goto __810
 40906  __810:
 40907  	;
 40908  	rrc = DMATCH_NOMATCH
 40909  	goto RETURN_SWITCH
 40910  
 40911  __772:
 40912  	;
 40913  
 40914  	// Control never gets here
 40915  
 40916  	// =====================================================================
 40917  	// Match various character types when PCRE2_UCP is not set. These opcodes
 40918  	//     are not generated when PCRE2_UCP is set - instead appropriate property
 40919  	//     tests are compiled.
 40920  
 40921  __80:
 40922  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 40923  		goto __816
 40924  	}
 40925  
 40926  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 40927  		goto __817
 40928  	}
 40929  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 40930  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 40931  		goto __818
 40932  	}
 40933  	return -2
 40934  __818:
 40935  	;
 40936  __817:
 40937  	;
 40938  
 40939  	rrc = DMATCH_NOMATCH
 40940  	goto RETURN_SWITCH
 40941  
 40942  __816:
 40943  	;
 40944  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 40945  	if !(utf != 0 && fc >= 0xc0) {
 40946  		goto __819
 40947  	}
 40948  	if !(fc&0x20 == Tuint32_t(0)) {
 40949  		goto __820
 40950  	}
 40951  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 40952  	goto __821
 40953  __820:
 40954  	if !(fc&0x10 == Tuint32_t(0)) {
 40955  		goto __822
 40956  	}
 40957  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 40958  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 40959  	goto __823
 40960  __822:
 40961  	if !(fc&0x08 == Tuint32_t(0)) {
 40962  		goto __824
 40963  	}
 40964  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 40965  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 40966  	goto __825
 40967  __824:
 40968  	if !(fc&0x04 == Tuint32_t(0)) {
 40969  		goto __826
 40970  	}
 40971  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 40972  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 40973  	goto __827
 40974  __826:
 40975  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 40976  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 40977  __827:
 40978  	;
 40979  __825:
 40980  	;
 40981  __823:
 40982  	;
 40983  __821:
 40984  	;
 40985  __819:
 40986  	;
 40987  
 40988  	if !(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 40989  		goto __828
 40990  	}
 40991  	rrc = DMATCH_NOMATCH
 40992  	goto RETURN_SWITCH
 40993  __828:
 40994  	;
 40995  
 40996  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 40997  	goto __13
 40998  
 40999  __81:
 41000  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41001  		goto __829
 41002  	}
 41003  
 41004  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41005  		goto __830
 41006  	}
 41007  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41008  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41009  		goto __831
 41010  	}
 41011  	return -2
 41012  __831:
 41013  	;
 41014  __830:
 41015  	;
 41016  
 41017  	rrc = DMATCH_NOMATCH
 41018  	goto RETURN_SWITCH
 41019  
 41020  __829:
 41021  	;
 41022  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41023  	if !(utf != 0 && fc >= 0xc0) {
 41024  		goto __832
 41025  	}
 41026  	if !(fc&0x20 == Tuint32_t(0)) {
 41027  		goto __833
 41028  	}
 41029  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41030  	goto __834
 41031  __833:
 41032  	if !(fc&0x10 == Tuint32_t(0)) {
 41033  		goto __835
 41034  	}
 41035  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41036  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41037  	goto __836
 41038  __835:
 41039  	if !(fc&0x08 == Tuint32_t(0)) {
 41040  		goto __837
 41041  	}
 41042  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41043  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41044  	goto __838
 41045  __837:
 41046  	if !(fc&0x04 == Tuint32_t(0)) {
 41047  		goto __839
 41048  	}
 41049  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41050  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41051  	goto __840
 41052  __839:
 41053  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41054  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41055  __840:
 41056  	;
 41057  __838:
 41058  	;
 41059  __836:
 41060  	;
 41061  __834:
 41062  	;
 41063  __832:
 41064  	;
 41065  
 41066  	if !(!(fc <= 255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) {
 41067  		goto __841
 41068  	}
 41069  	rrc = DMATCH_NOMATCH
 41070  	goto RETURN_SWITCH
 41071  __841:
 41072  	;
 41073  
 41074  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41075  	goto __13
 41076  
 41077  __82:
 41078  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41079  		goto __842
 41080  	}
 41081  
 41082  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41083  		goto __843
 41084  	}
 41085  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41086  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41087  		goto __844
 41088  	}
 41089  	return -2
 41090  __844:
 41091  	;
 41092  __843:
 41093  	;
 41094  
 41095  	rrc = DMATCH_NOMATCH
 41096  	goto RETURN_SWITCH
 41097  
 41098  __842:
 41099  	;
 41100  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41101  	if !(utf != 0 && fc >= 0xc0) {
 41102  		goto __845
 41103  	}
 41104  	if !(fc&0x20 == Tuint32_t(0)) {
 41105  		goto __846
 41106  	}
 41107  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41108  	goto __847
 41109  __846:
 41110  	if !(fc&0x10 == Tuint32_t(0)) {
 41111  		goto __848
 41112  	}
 41113  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41114  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41115  	goto __849
 41116  __848:
 41117  	if !(fc&0x08 == Tuint32_t(0)) {
 41118  		goto __850
 41119  	}
 41120  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41121  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41122  	goto __851
 41123  __850:
 41124  	if !(fc&0x04 == Tuint32_t(0)) {
 41125  		goto __852
 41126  	}
 41127  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41128  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41129  	goto __853
 41130  __852:
 41131  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41132  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41133  __853:
 41134  	;
 41135  __851:
 41136  	;
 41137  __849:
 41138  	;
 41139  __847:
 41140  	;
 41141  __845:
 41142  	;
 41143  
 41144  	if !(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) {
 41145  		goto __854
 41146  	}
 41147  	rrc = DMATCH_NOMATCH
 41148  	goto RETURN_SWITCH
 41149  __854:
 41150  	;
 41151  
 41152  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41153  	goto __13
 41154  
 41155  __83:
 41156  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41157  		goto __855
 41158  	}
 41159  
 41160  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41161  		goto __856
 41162  	}
 41163  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41164  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41165  		goto __857
 41166  	}
 41167  	return -2
 41168  __857:
 41169  	;
 41170  __856:
 41171  	;
 41172  
 41173  	rrc = DMATCH_NOMATCH
 41174  	goto RETURN_SWITCH
 41175  
 41176  __855:
 41177  	;
 41178  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41179  	if !(utf != 0 && fc >= 0xc0) {
 41180  		goto __858
 41181  	}
 41182  	if !(fc&0x20 == Tuint32_t(0)) {
 41183  		goto __859
 41184  	}
 41185  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41186  	goto __860
 41187  __859:
 41188  	if !(fc&0x10 == Tuint32_t(0)) {
 41189  		goto __861
 41190  	}
 41191  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41192  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41193  	goto __862
 41194  __861:
 41195  	if !(fc&0x08 == Tuint32_t(0)) {
 41196  		goto __863
 41197  	}
 41198  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41199  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41200  	goto __864
 41201  __863:
 41202  	if !(fc&0x04 == Tuint32_t(0)) {
 41203  		goto __865
 41204  	}
 41205  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41206  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41207  	goto __866
 41208  __865:
 41209  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41210  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41211  __866:
 41212  	;
 41213  __864:
 41214  	;
 41215  __862:
 41216  	;
 41217  __860:
 41218  	;
 41219  __858:
 41220  	;
 41221  
 41222  	if !(!(fc <= 255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) {
 41223  		goto __867
 41224  	}
 41225  	rrc = DMATCH_NOMATCH
 41226  	goto RETURN_SWITCH
 41227  __867:
 41228  	;
 41229  
 41230  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41231  	goto __13
 41232  
 41233  __84:
 41234  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41235  		goto __868
 41236  	}
 41237  
 41238  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41239  		goto __869
 41240  	}
 41241  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41242  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41243  		goto __870
 41244  	}
 41245  	return -2
 41246  __870:
 41247  	;
 41248  __869:
 41249  	;
 41250  
 41251  	rrc = DMATCH_NOMATCH
 41252  	goto RETURN_SWITCH
 41253  
 41254  __868:
 41255  	;
 41256  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41257  	if !(utf != 0 && fc >= 0xc0) {
 41258  		goto __871
 41259  	}
 41260  	if !(fc&0x20 == Tuint32_t(0)) {
 41261  		goto __872
 41262  	}
 41263  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41264  	goto __873
 41265  __872:
 41266  	if !(fc&0x10 == Tuint32_t(0)) {
 41267  		goto __874
 41268  	}
 41269  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41270  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41271  	goto __875
 41272  __874:
 41273  	if !(fc&0x08 == Tuint32_t(0)) {
 41274  		goto __876
 41275  	}
 41276  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41277  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41278  	goto __877
 41279  __876:
 41280  	if !(fc&0x04 == Tuint32_t(0)) {
 41281  		goto __878
 41282  	}
 41283  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41284  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41285  	goto __879
 41286  __878:
 41287  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41288  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41289  __879:
 41290  	;
 41291  __877:
 41292  	;
 41293  __875:
 41294  	;
 41295  __873:
 41296  	;
 41297  __871:
 41298  	;
 41299  
 41300  	if !(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) {
 41301  		goto __880
 41302  	}
 41303  	rrc = DMATCH_NOMATCH
 41304  	goto RETURN_SWITCH
 41305  __880:
 41306  	;
 41307  
 41308  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41309  	goto __13
 41310  
 41311  __85:
 41312  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41313  		goto __881
 41314  	}
 41315  
 41316  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41317  		goto __882
 41318  	}
 41319  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41320  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41321  		goto __883
 41322  	}
 41323  	return -2
 41324  __883:
 41325  	;
 41326  __882:
 41327  	;
 41328  
 41329  	rrc = DMATCH_NOMATCH
 41330  	goto RETURN_SWITCH
 41331  
 41332  __881:
 41333  	;
 41334  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41335  	if !(utf != 0 && fc >= 0xc0) {
 41336  		goto __884
 41337  	}
 41338  	if !(fc&0x20 == Tuint32_t(0)) {
 41339  		goto __885
 41340  	}
 41341  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41342  	goto __886
 41343  __885:
 41344  	if !(fc&0x10 == Tuint32_t(0)) {
 41345  		goto __887
 41346  	}
 41347  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41348  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41349  	goto __888
 41350  __887:
 41351  	if !(fc&0x08 == Tuint32_t(0)) {
 41352  		goto __889
 41353  	}
 41354  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41355  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41356  	goto __890
 41357  __889:
 41358  	if !(fc&0x04 == Tuint32_t(0)) {
 41359  		goto __891
 41360  	}
 41361  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41362  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41363  	goto __892
 41364  __891:
 41365  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41366  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41367  __892:
 41368  	;
 41369  __890:
 41370  	;
 41371  __888:
 41372  	;
 41373  __886:
 41374  	;
 41375  __884:
 41376  	;
 41377  
 41378  	if !(!(fc <= 255) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) {
 41379  		goto __893
 41380  	}
 41381  	rrc = DMATCH_NOMATCH
 41382  	goto RETURN_SWITCH
 41383  __893:
 41384  	;
 41385  
 41386  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41387  	goto __13
 41388  
 41389  __86:
 41390  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41391  		goto __894
 41392  	}
 41393  
 41394  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41395  		goto __895
 41396  	}
 41397  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41398  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41399  		goto __896
 41400  	}
 41401  	return -2
 41402  __896:
 41403  	;
 41404  __895:
 41405  	;
 41406  
 41407  	rrc = DMATCH_NOMATCH
 41408  	goto RETURN_SWITCH
 41409  
 41410  __894:
 41411  	;
 41412  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41413  	if !(utf != 0 && fc >= 0xc0) {
 41414  		goto __897
 41415  	}
 41416  	if !(fc&0x20 == Tuint32_t(0)) {
 41417  		goto __898
 41418  	}
 41419  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41420  	goto __899
 41421  __898:
 41422  	if !(fc&0x10 == Tuint32_t(0)) {
 41423  		goto __900
 41424  	}
 41425  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41426  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41427  	goto __901
 41428  __900:
 41429  	if !(fc&0x08 == Tuint32_t(0)) {
 41430  		goto __902
 41431  	}
 41432  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41433  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41434  	goto __903
 41435  __902:
 41436  	if !(fc&0x04 == Tuint32_t(0)) {
 41437  		goto __904
 41438  	}
 41439  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41440  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41441  	goto __905
 41442  __904:
 41443  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41444  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41445  __905:
 41446  	;
 41447  __903:
 41448  	;
 41449  __901:
 41450  	;
 41451  __899:
 41452  	;
 41453  __897:
 41454  	;
 41455  
 41456  	switch fc {
 41457  	default:
 41458  		goto __907
 41459  
 41460  	case Tuint32_t('\015'):
 41461  		goto __908
 41462  
 41463  	case Tuint32_t('\012'):
 41464  		goto __909
 41465  
 41466  	case Tuint32_t('\013'):
 41467  		goto __910
 41468  	case Tuint32_t('\014'):
 41469  		goto __911
 41470  	case Tuint32_t(uint8('\x85')):
 41471  		goto __912
 41472  	case Tuint32_t(0x2028):
 41473  		goto __913
 41474  	case Tuint32_t(0x2029):
 41475  		goto __914
 41476  	}
 41477  	goto __906
 41478  
 41479  __907:
 41480  	rrc = DMATCH_NOMATCH
 41481  	goto RETURN_SWITCH
 41482  
 41483  __908:
 41484  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41485  		goto __915
 41486  	}
 41487  
 41488  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41489  		goto __917
 41490  	}
 41491  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41492  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41493  		goto __918
 41494  	}
 41495  	return -2
 41496  __918:
 41497  	;
 41498  __917:
 41499  	;
 41500  
 41501  	goto __916
 41502  __915:
 41503  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 41504  		goto __919
 41505  	}
 41506  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 41507  __919:
 41508  	;
 41509  __916:
 41510  	;
 41511  	goto __906
 41512  
 41513  __909:
 41514  	goto __906
 41515  
 41516  __910:
 41517  __911:
 41518  __912:
 41519  __913:
 41520  __914:
 41521  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 41522  		goto __920
 41523  	}
 41524  	rrc = DMATCH_NOMATCH
 41525  	goto RETURN_SWITCH
 41526  __920:
 41527  	;
 41528  
 41529  	goto __906
 41530  __906:
 41531  	;
 41532  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41533  	goto __13
 41534  
 41535  __87:
 41536  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41537  		goto __921
 41538  	}
 41539  
 41540  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41541  		goto __922
 41542  	}
 41543  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41544  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41545  		goto __923
 41546  	}
 41547  	return -2
 41548  __923:
 41549  	;
 41550  __922:
 41551  	;
 41552  
 41553  	rrc = DMATCH_NOMATCH
 41554  	goto RETURN_SWITCH
 41555  
 41556  __921:
 41557  	;
 41558  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41559  	if !(utf != 0 && fc >= 0xc0) {
 41560  		goto __924
 41561  	}
 41562  	if !(fc&0x20 == Tuint32_t(0)) {
 41563  		goto __925
 41564  	}
 41565  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41566  	goto __926
 41567  __925:
 41568  	if !(fc&0x10 == Tuint32_t(0)) {
 41569  		goto __927
 41570  	}
 41571  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41572  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41573  	goto __928
 41574  __927:
 41575  	if !(fc&0x08 == Tuint32_t(0)) {
 41576  		goto __929
 41577  	}
 41578  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41579  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41580  	goto __930
 41581  __929:
 41582  	if !(fc&0x04 == Tuint32_t(0)) {
 41583  		goto __931
 41584  	}
 41585  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41586  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41587  	goto __932
 41588  __931:
 41589  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41590  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41591  __932:
 41592  	;
 41593  __930:
 41594  	;
 41595  __928:
 41596  	;
 41597  __926:
 41598  	;
 41599  __924:
 41600  	;
 41601  
 41602  	switch fc {
 41603  	case Tuint32_t('\011'):
 41604  		goto __934
 41605  	case Tuint32_t('\040'):
 41606  		goto __935
 41607  	case Tuint32_t(uint8('\xa0')):
 41608  		goto __936
 41609  	case Tuint32_t(0x1680):
 41610  		goto __937 /* OGHAM SPACE MARK */
 41611  	case Tuint32_t(0x180e):
 41612  		goto __938 /* MONGOLIAN VOWEL SEPARATOR */
 41613  	case Tuint32_t(0x2000):
 41614  		goto __939 /* EN QUAD */
 41615  	case Tuint32_t(0x2001):
 41616  		goto __940 /* EM QUAD */
 41617  	case Tuint32_t(0x2002):
 41618  		goto __941 /* EN SPACE */
 41619  	case Tuint32_t(0x2003):
 41620  		goto __942 /* EM SPACE */
 41621  	case Tuint32_t(0x2004):
 41622  		goto __943 /* THREE-PER-EM SPACE */
 41623  	case Tuint32_t(0x2005):
 41624  		goto __944 /* FOUR-PER-EM SPACE */
 41625  	case Tuint32_t(0x2006):
 41626  		goto __945 /* SIX-PER-EM SPACE */
 41627  	case Tuint32_t(0x2007):
 41628  		goto __946 /* FIGURE SPACE */
 41629  	case Tuint32_t(0x2008):
 41630  		goto __947 /* PUNCTUATION SPACE */
 41631  	case Tuint32_t(0x2009):
 41632  		goto __948 /* THIN SPACE */
 41633  	case Tuint32_t(0x200A):
 41634  		goto __949 /* HAIR SPACE */
 41635  	case Tuint32_t(0x202f):
 41636  		goto __950 /* NARROW NO-BREAK SPACE */
 41637  	case Tuint32_t(0x205f):
 41638  		goto __951 /* MEDIUM MATHEMATICAL SPACE */
 41639  	case Tuint32_t(0x3000):
 41640  		goto __952 // Byte and multibyte cases
 41641  	default:
 41642  		goto __953
 41643  	}
 41644  	goto __933
 41645  
 41646  __934:
 41647  __935:
 41648  __936:
 41649  __937: /* OGHAM SPACE MARK */
 41650  __938: /* MONGOLIAN VOWEL SEPARATOR */
 41651  __939: /* EN QUAD */
 41652  __940: /* EM QUAD */
 41653  __941: /* EN SPACE */
 41654  __942: /* EM SPACE */
 41655  __943: /* THREE-PER-EM SPACE */
 41656  __944: /* FOUR-PER-EM SPACE */
 41657  __945: /* SIX-PER-EM SPACE */
 41658  __946: /* FIGURE SPACE */
 41659  __947: /* PUNCTUATION SPACE */
 41660  __948: /* THIN SPACE */
 41661  __949: /* HAIR SPACE */
 41662  __950: /* NARROW NO-BREAK SPACE */
 41663  __951: /* MEDIUM MATHEMATICAL SPACE */
 41664  __952:
 41665  	rrc = DMATCH_NOMATCH
 41666  	goto RETURN_SWITCH
 41667  	// Byte and multibyte cases
 41668  __953:
 41669  	goto __933
 41670  __933:
 41671  	;
 41672  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41673  	goto __13
 41674  
 41675  __88:
 41676  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41677  		goto __954
 41678  	}
 41679  
 41680  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41681  		goto __955
 41682  	}
 41683  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41684  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41685  		goto __956
 41686  	}
 41687  	return -2
 41688  __956:
 41689  	;
 41690  __955:
 41691  	;
 41692  
 41693  	rrc = DMATCH_NOMATCH
 41694  	goto RETURN_SWITCH
 41695  
 41696  __954:
 41697  	;
 41698  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41699  	if !(utf != 0 && fc >= 0xc0) {
 41700  		goto __957
 41701  	}
 41702  	if !(fc&0x20 == Tuint32_t(0)) {
 41703  		goto __958
 41704  	}
 41705  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41706  	goto __959
 41707  __958:
 41708  	if !(fc&0x10 == Tuint32_t(0)) {
 41709  		goto __960
 41710  	}
 41711  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41712  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41713  	goto __961
 41714  __960:
 41715  	if !(fc&0x08 == Tuint32_t(0)) {
 41716  		goto __962
 41717  	}
 41718  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41719  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41720  	goto __963
 41721  __962:
 41722  	if !(fc&0x04 == Tuint32_t(0)) {
 41723  		goto __964
 41724  	}
 41725  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41726  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41727  	goto __965
 41728  __964:
 41729  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41730  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41731  __965:
 41732  	;
 41733  __963:
 41734  	;
 41735  __961:
 41736  	;
 41737  __959:
 41738  	;
 41739  __957:
 41740  	;
 41741  
 41742  	switch fc {
 41743  	case Tuint32_t('\011'):
 41744  		goto __967
 41745  	case Tuint32_t('\040'):
 41746  		goto __968
 41747  	case Tuint32_t(uint8('\xa0')):
 41748  		goto __969
 41749  	case Tuint32_t(0x1680):
 41750  		goto __970 /* OGHAM SPACE MARK */
 41751  	case Tuint32_t(0x180e):
 41752  		goto __971 /* MONGOLIAN VOWEL SEPARATOR */
 41753  	case Tuint32_t(0x2000):
 41754  		goto __972 /* EN QUAD */
 41755  	case Tuint32_t(0x2001):
 41756  		goto __973 /* EM QUAD */
 41757  	case Tuint32_t(0x2002):
 41758  		goto __974 /* EN SPACE */
 41759  	case Tuint32_t(0x2003):
 41760  		goto __975 /* EM SPACE */
 41761  	case Tuint32_t(0x2004):
 41762  		goto __976 /* THREE-PER-EM SPACE */
 41763  	case Tuint32_t(0x2005):
 41764  		goto __977 /* FOUR-PER-EM SPACE */
 41765  	case Tuint32_t(0x2006):
 41766  		goto __978 /* SIX-PER-EM SPACE */
 41767  	case Tuint32_t(0x2007):
 41768  		goto __979 /* FIGURE SPACE */
 41769  	case Tuint32_t(0x2008):
 41770  		goto __980 /* PUNCTUATION SPACE */
 41771  	case Tuint32_t(0x2009):
 41772  		goto __981 /* THIN SPACE */
 41773  	case Tuint32_t(0x200A):
 41774  		goto __982 /* HAIR SPACE */
 41775  	case Tuint32_t(0x202f):
 41776  		goto __983 /* NARROW NO-BREAK SPACE */
 41777  	case Tuint32_t(0x205f):
 41778  		goto __984 /* MEDIUM MATHEMATICAL SPACE */
 41779  	case Tuint32_t(0x3000):
 41780  		goto __985 // Byte and multibyte cases
 41781  	default:
 41782  		goto __986
 41783  	}
 41784  	goto __966
 41785  
 41786  __967:
 41787  __968:
 41788  __969:
 41789  __970: /* OGHAM SPACE MARK */
 41790  __971: /* MONGOLIAN VOWEL SEPARATOR */
 41791  __972: /* EN QUAD */
 41792  __973: /* EM QUAD */
 41793  __974: /* EN SPACE */
 41794  __975: /* EM SPACE */
 41795  __976: /* THREE-PER-EM SPACE */
 41796  __977: /* FOUR-PER-EM SPACE */
 41797  __978: /* SIX-PER-EM SPACE */
 41798  __979: /* FIGURE SPACE */
 41799  __980: /* PUNCTUATION SPACE */
 41800  __981: /* THIN SPACE */
 41801  __982: /* HAIR SPACE */
 41802  __983: /* NARROW NO-BREAK SPACE */
 41803  __984: /* MEDIUM MATHEMATICAL SPACE */
 41804  __985:
 41805  	goto __966 // Byte and multibyte cases
 41806  __986:
 41807  	rrc = DMATCH_NOMATCH
 41808  	goto RETURN_SWITCH
 41809  
 41810  __966:
 41811  	;
 41812  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41813  	goto __13
 41814  
 41815  __89:
 41816  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41817  		goto __987
 41818  	}
 41819  
 41820  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41821  		goto __988
 41822  	}
 41823  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41824  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41825  		goto __989
 41826  	}
 41827  	return -2
 41828  __989:
 41829  	;
 41830  __988:
 41831  	;
 41832  
 41833  	rrc = DMATCH_NOMATCH
 41834  	goto RETURN_SWITCH
 41835  
 41836  __987:
 41837  	;
 41838  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41839  	if !(utf != 0 && fc >= 0xc0) {
 41840  		goto __990
 41841  	}
 41842  	if !(fc&0x20 == Tuint32_t(0)) {
 41843  		goto __991
 41844  	}
 41845  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41846  	goto __992
 41847  __991:
 41848  	if !(fc&0x10 == Tuint32_t(0)) {
 41849  		goto __993
 41850  	}
 41851  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41852  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41853  	goto __994
 41854  __993:
 41855  	if !(fc&0x08 == Tuint32_t(0)) {
 41856  		goto __995
 41857  	}
 41858  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41859  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41860  	goto __996
 41861  __995:
 41862  	if !(fc&0x04 == Tuint32_t(0)) {
 41863  		goto __997
 41864  	}
 41865  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41866  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41867  	goto __998
 41868  __997:
 41869  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41870  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41871  __998:
 41872  	;
 41873  __996:
 41874  	;
 41875  __994:
 41876  	;
 41877  __992:
 41878  	;
 41879  __990:
 41880  	;
 41881  
 41882  	switch fc {
 41883  	case Tuint32_t('\012'):
 41884  		goto __1000
 41885  	case Tuint32_t('\013'):
 41886  		goto __1001
 41887  	case Tuint32_t('\014'):
 41888  		goto __1002
 41889  	case Tuint32_t('\015'):
 41890  		goto __1003
 41891  	case Tuint32_t(uint8('\x85')):
 41892  		goto __1004
 41893  	case Tuint32_t(0x2028):
 41894  		goto __1005 /* LINE SEPARATOR */
 41895  	case Tuint32_t(0x2029):
 41896  		goto __1006
 41897  	default:
 41898  		goto __1007
 41899  	}
 41900  	goto __999
 41901  
 41902  __1000:
 41903  __1001:
 41904  __1002:
 41905  __1003:
 41906  __1004:
 41907  __1005: /* LINE SEPARATOR */
 41908  __1006:
 41909  	rrc = DMATCH_NOMATCH
 41910  	goto RETURN_SWITCH
 41911  
 41912  __1007:
 41913  	goto __999
 41914  __999:
 41915  	;
 41916  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 41917  	goto __13
 41918  
 41919  __90:
 41920  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 41921  		goto __1008
 41922  	}
 41923  
 41924  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 41925  		goto __1009
 41926  	}
 41927  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 41928  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 41929  		goto __1010
 41930  	}
 41931  	return -2
 41932  __1010:
 41933  	;
 41934  __1009:
 41935  	;
 41936  
 41937  	rrc = DMATCH_NOMATCH
 41938  	goto RETURN_SWITCH
 41939  
 41940  __1008:
 41941  	;
 41942  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 41943  	if !(utf != 0 && fc >= 0xc0) {
 41944  		goto __1011
 41945  	}
 41946  	if !(fc&0x20 == Tuint32_t(0)) {
 41947  		goto __1012
 41948  	}
 41949  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 41950  	goto __1013
 41951  __1012:
 41952  	if !(fc&0x10 == Tuint32_t(0)) {
 41953  		goto __1014
 41954  	}
 41955  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 41956  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 41957  	goto __1015
 41958  __1014:
 41959  	if !(fc&0x08 == Tuint32_t(0)) {
 41960  		goto __1016
 41961  	}
 41962  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 41963  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 41964  	goto __1017
 41965  __1016:
 41966  	if !(fc&0x04 == Tuint32_t(0)) {
 41967  		goto __1018
 41968  	}
 41969  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 41970  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 41971  	goto __1019
 41972  __1018:
 41973  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 41974  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 41975  __1019:
 41976  	;
 41977  __1017:
 41978  	;
 41979  __1015:
 41980  	;
 41981  __1013:
 41982  	;
 41983  __1011:
 41984  	;
 41985  
 41986  	switch fc {
 41987  	case Tuint32_t('\012'):
 41988  		goto __1021
 41989  	case Tuint32_t('\013'):
 41990  		goto __1022
 41991  	case Tuint32_t('\014'):
 41992  		goto __1023
 41993  	case Tuint32_t('\015'):
 41994  		goto __1024
 41995  	case Tuint32_t(uint8('\x85')):
 41996  		goto __1025
 41997  	case Tuint32_t(0x2028):
 41998  		goto __1026 /* LINE SEPARATOR */
 41999  	case Tuint32_t(0x2029):
 42000  		goto __1027
 42001  	default:
 42002  		goto __1028
 42003  	}
 42004  	goto __1020
 42005  
 42006  __1021:
 42007  __1022:
 42008  __1023:
 42009  __1024:
 42010  __1025:
 42011  __1026: /* LINE SEPARATOR */
 42012  __1027:
 42013  	goto __1020
 42014  __1028:
 42015  	rrc = DMATCH_NOMATCH
 42016  	goto RETURN_SWITCH
 42017  
 42018  __1020:
 42019  	;
 42020  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42021  	goto __13
 42022  
 42023  	// =====================================================================
 42024  	// Check the next character by Unicode property. We will get here only
 42025  	//     if the support is in the binary; otherwise a compile-time error occurs.
 42026  
 42027  __91:
 42028  __92:
 42029  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42030  		goto __1029
 42031  	}
 42032  
 42033  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 42034  		goto __1030
 42035  	}
 42036  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42037  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42038  		goto __1031
 42039  	}
 42040  	return -2
 42041  __1031:
 42042  	;
 42043  __1030:
 42044  	;
 42045  
 42046  	rrc = DMATCH_NOMATCH
 42047  	goto RETURN_SWITCH
 42048  
 42049  __1029:
 42050  	;
 42051  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42052  	if !(utf != 0 && fc >= 0xc0) {
 42053  		goto __1032
 42054  	}
 42055  	if !(fc&0x20 == Tuint32_t(0)) {
 42056  		goto __1033
 42057  	}
 42058  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42059  	goto __1034
 42060  __1033:
 42061  	if !(fc&0x10 == Tuint32_t(0)) {
 42062  		goto __1035
 42063  	}
 42064  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 42065  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 42066  	goto __1036
 42067  __1035:
 42068  	if !(fc&0x08 == Tuint32_t(0)) {
 42069  		goto __1037
 42070  	}
 42071  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 42072  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 42073  	goto __1038
 42074  __1037:
 42075  	if !(fc&0x04 == Tuint32_t(0)) {
 42076  		goto __1039
 42077  	}
 42078  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 42079  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 42080  	goto __1040
 42081  __1039:
 42082  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 42083  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 42084  __1040:
 42085  	;
 42086  __1038:
 42087  	;
 42088  __1036:
 42089  	;
 42090  __1034:
 42091  	;
 42092  __1032:
 42093  	;
 42094  
 42095  	prop = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12
 42096  	notmatch = libc.Bool32(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_NOTPROP)
 42097  
 42098  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))) {
 42099  	case DPT_ANY:
 42100  		goto __1042
 42101  
 42102  	case DPT_LAMP:
 42103  		goto __1043
 42104  
 42105  	case DPT_GC:
 42106  		goto __1044
 42107  
 42108  	case DPT_PC:
 42109  		goto __1045
 42110  
 42111  	case DPT_SC:
 42112  		goto __1046
 42113  
 42114  	case DPT_SCX:
 42115  		goto __1047
 42116  
 42117  	// These are specials
 42118  
 42119  	case DPT_ALNUM:
 42120  		goto __1048
 42121  
 42122  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 42123  	//         which means that Perl space and POSIX space are now identical. PCRE
 42124  	//         was changed at release 8.34.
 42125  
 42126  	case DPT_SPACE:
 42127  		goto __1049 // Perl space
 42128  	case DPT_PXSPACE:
 42129  		goto __1050
 42130  
 42131  	case DPT_WORD:
 42132  		goto __1051
 42133  
 42134  	case DPT_CLIST:
 42135  		goto __1052
 42136  
 42137  	case DPT_UCNC:
 42138  		goto __1053
 42139  
 42140  	case DPT_BIDICL:
 42141  		goto __1054
 42142  
 42143  	case DPT_BOOL:
 42144  		goto __1055
 42145  
 42146  	// This should never occur
 42147  
 42148  	default:
 42149  		goto __1056
 42150  	}
 42151  	goto __1041
 42152  
 42153  __1042:
 42154  	if !(notmatch != 0) {
 42155  		goto __1057
 42156  	}
 42157  	rrc = DMATCH_NOMATCH
 42158  	goto RETURN_SWITCH
 42159  __1057:
 42160  	;
 42161  
 42162  	goto __1041
 42163  
 42164  __1043:
 42165  	if !(libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lt) == notmatch) {
 42166  		goto __1058
 42167  	}
 42168  	rrc = DMATCH_NOMATCH
 42169  	goto RETURN_SWITCH
 42170  __1058:
 42171  	;
 42172  
 42173  	goto __1041
 42174  
 42175  __1044:
 42176  	if !(libc.Bool32(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))) == X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype]) == notmatch) {
 42177  		goto __1059
 42178  	}
 42179  	rrc = DMATCH_NOMATCH
 42180  	goto RETURN_SWITCH
 42181  __1059:
 42182  	;
 42183  
 42184  	goto __1041
 42185  
 42186  __1045:
 42187  	if !(libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype)) == notmatch) {
 42188  		goto __1060
 42189  	}
 42190  	rrc = DMATCH_NOMATCH
 42191  	goto RETURN_SWITCH
 42192  __1060:
 42193  	;
 42194  
 42195  	goto __1041
 42196  
 42197  __1046:
 42198  	if !(libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript)) == notmatch) {
 42199  		goto __1061
 42200  	}
 42201  	rrc = DMATCH_NOMATCH
 42202  	goto RETURN_SWITCH
 42203  __1061:
 42204  	;
 42205  
 42206  	goto __1041
 42207  
 42208  __1047:
 42209  
 42210  	ok = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))%32)) != Tuint32_t(0))
 42211  	if !(ok == notmatch) {
 42212  		goto __1062
 42213  	}
 42214  	rrc = DMATCH_NOMATCH
 42215  	goto RETURN_SWITCH
 42216  __1062:
 42217  	;
 42218  
 42219  	goto __1041
 42220  
 42221  	// These are specials
 42222  
 42223  __1048:
 42224  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N) == notmatch) {
 42225  		goto __1063
 42226  	}
 42227  	rrc = DMATCH_NOMATCH
 42228  	goto RETURN_SWITCH
 42229  __1063:
 42230  	;
 42231  
 42232  	goto __1041
 42233  
 42234  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 42235  	//         which means that Perl space and POSIX space are now identical. PCRE
 42236  	//         was changed at release 8.34.
 42237  
 42238  __1049: // Perl space
 42239  __1050: // POSIX space
 42240  	switch fc {
 42241  	case Tuint32_t('\011'):
 42242  		goto __1065
 42243  	case Tuint32_t('\040'):
 42244  		goto __1066
 42245  	case Tuint32_t(uint8('\xa0')):
 42246  		goto __1067
 42247  	case Tuint32_t(0x1680):
 42248  		goto __1068 /* OGHAM SPACE MARK */
 42249  	case Tuint32_t(0x180e):
 42250  		goto __1069 /* MONGOLIAN VOWEL SEPARATOR */
 42251  	case Tuint32_t(0x2000):
 42252  		goto __1070 /* EN QUAD */
 42253  	case Tuint32_t(0x2001):
 42254  		goto __1071 /* EM QUAD */
 42255  	case Tuint32_t(0x2002):
 42256  		goto __1072 /* EN SPACE */
 42257  	case Tuint32_t(0x2003):
 42258  		goto __1073 /* EM SPACE */
 42259  	case Tuint32_t(0x2004):
 42260  		goto __1074 /* THREE-PER-EM SPACE */
 42261  	case Tuint32_t(0x2005):
 42262  		goto __1075 /* FOUR-PER-EM SPACE */
 42263  	case Tuint32_t(0x2006):
 42264  		goto __1076 /* SIX-PER-EM SPACE */
 42265  	case Tuint32_t(0x2007):
 42266  		goto __1077 /* FIGURE SPACE */
 42267  	case Tuint32_t(0x2008):
 42268  		goto __1078 /* PUNCTUATION SPACE */
 42269  	case Tuint32_t(0x2009):
 42270  		goto __1079 /* THIN SPACE */
 42271  	case Tuint32_t(0x200A):
 42272  		goto __1080 /* HAIR SPACE */
 42273  	case Tuint32_t(0x202f):
 42274  		goto __1081 /* NARROW NO-BREAK SPACE */
 42275  	case Tuint32_t(0x205f):
 42276  		goto __1082 /* MEDIUM MATHEMATICAL SPACE */
 42277  	case Tuint32_t(0x3000):
 42278  		goto __1083
 42279  	case Tuint32_t('\012'):
 42280  		goto __1084
 42281  	case Tuint32_t('\013'):
 42282  		goto __1085
 42283  	case Tuint32_t('\014'):
 42284  		goto __1086
 42285  	case Tuint32_t('\015'):
 42286  		goto __1087
 42287  	case Tuint32_t(uint8('\x85')):
 42288  		goto __1088
 42289  	case Tuint32_t(0x2028):
 42290  		goto __1089 /* LINE SEPARATOR */
 42291  	case Tuint32_t(0x2029):
 42292  		goto __1090
 42293  
 42294  	default:
 42295  		goto __1091
 42296  	}
 42297  	goto __1064
 42298  
 42299  __1065:
 42300  __1066:
 42301  __1067:
 42302  __1068: /* OGHAM SPACE MARK */
 42303  __1069: /* MONGOLIAN VOWEL SEPARATOR */
 42304  __1070: /* EN QUAD */
 42305  __1071: /* EM QUAD */
 42306  __1072: /* EN SPACE */
 42307  __1073: /* EM SPACE */
 42308  __1074: /* THREE-PER-EM SPACE */
 42309  __1075: /* FOUR-PER-EM SPACE */
 42310  __1076: /* SIX-PER-EM SPACE */
 42311  __1077: /* FIGURE SPACE */
 42312  __1078: /* PUNCTUATION SPACE */
 42313  __1079: /* THIN SPACE */
 42314  __1080: /* HAIR SPACE */
 42315  __1081: /* NARROW NO-BREAK SPACE */
 42316  __1082: /* MEDIUM MATHEMATICAL SPACE */
 42317  __1083:
 42318  __1084:
 42319  __1085:
 42320  __1086:
 42321  __1087:
 42322  __1088:
 42323  __1089: /* LINE SEPARATOR */
 42324  __1090:
 42325  	if !(notmatch != 0) {
 42326  		goto __1092
 42327  	}
 42328  	rrc = DMATCH_NOMATCH
 42329  	goto RETURN_SWITCH
 42330  __1092:
 42331  	;
 42332  
 42333  	goto __1064
 42334  
 42335  __1091:
 42336  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z) == notmatch) {
 42337  		goto __1093
 42338  	}
 42339  	rrc = DMATCH_NOMATCH
 42340  	goto RETURN_SWITCH
 42341  __1093:
 42342  	;
 42343  
 42344  	goto __1064
 42345  __1064:
 42346  	;
 42347  	goto __1041
 42348  
 42349  __1051:
 42350  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N || fc == Tuint32_t('\137')) == notmatch) {
 42351  		goto __1094
 42352  	}
 42353  	rrc = DMATCH_NOMATCH
 42354  	goto RETURN_SWITCH
 42355  __1094:
 42356  	;
 42357  
 42358  	goto __1041
 42359  
 42360  __1052:
 42361  	cp = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))*4
 42362  __1095:
 42363  
 42364  	if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp))) {
 42365  		goto __1098
 42366  	}
 42367  	if !(notmatch != 0) {
 42368  		goto __1099
 42369  	}
 42370  	goto __1097
 42371  	goto __1100
 42372  __1099:
 42373  	rrc = DMATCH_NOMATCH
 42374  	goto RETURN_SWITCH
 42375  __1100:
 42376  	;
 42377  __1098:
 42378  	;
 42379  	if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp, 4)))) {
 42380  		goto __1101
 42381  	}
 42382  	if !(notmatch != 0) {
 42383  		goto __1102
 42384  	}
 42385  	rrc = DMATCH_NOMATCH
 42386  	goto RETURN_SWITCH
 42387  	goto __1103
 42388  __1102:
 42389  	goto __1097
 42390  __1103:
 42391  	;
 42392  __1101:
 42393  	;
 42394  	goto __1096
 42395  __1096:
 42396  	goto __1095
 42397  	goto __1097
 42398  __1097:
 42399  	;
 42400  	goto __1041
 42401  
 42402  __1053:
 42403  	if !(libc.Bool32(fc == Tuint32_t('\044') || fc == Tuint32_t('\100') || fc == Tuint32_t('\140') || fc >= Tuint32_t(0xa0) && fc <= Tuint32_t(0xd7ff) || fc >= Tuint32_t(0xe000)) == notmatch) {
 42404  		goto __1104
 42405  	}
 42406  	rrc = DMATCH_NOMATCH
 42407  	goto RETURN_SWITCH
 42408  __1104:
 42409  	;
 42410  
 42411  	goto __1041
 42412  
 42413  __1054:
 42414  	if !(libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))) == notmatch) {
 42415  		goto __1105
 42416  	}
 42417  	rrc = DMATCH_NOMATCH
 42418  	goto RETURN_SWITCH
 42419  __1105:
 42420  	;
 42421  
 42422  	goto __1041
 42423  
 42424  __1055:
 42425  
 42426  	ok1 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))%32)) != Tuint32_t(0))
 42427  	if !(ok1 == notmatch) {
 42428  		goto __1106
 42429  	}
 42430  	rrc = DMATCH_NOMATCH
 42431  	goto RETURN_SWITCH
 42432  __1106:
 42433  	;
 42434  
 42435  	goto __1041
 42436  
 42437  	// This should never occur
 42438  
 42439  __1056:
 42440  	return -44
 42441  __1041:
 42442  	;
 42443  
 42444  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(3)
 42445  
 42446  	goto __13
 42447  
 42448  	// =====================================================================
 42449  	// Match an extended Unicode sequence. We will get here only if the support
 42450  	//     is in the binary; otherwise a compile-time error occurs.
 42451  
 42452  __93:
 42453  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42454  		goto __1107
 42455  	}
 42456  
 42457  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 42458  		goto __1109
 42459  	}
 42460  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42461  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42462  		goto __1110
 42463  	}
 42464  	return -2
 42465  __1110:
 42466  	;
 42467  __1109:
 42468  	;
 42469  
 42470  	rrc = DMATCH_NOMATCH
 42471  	goto RETURN_SWITCH
 42472  
 42473  	goto __1108
 42474  __1107:
 42475  
 42476  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42477  	if !(utf != 0 && fc >= 0xc0) {
 42478  		goto __1111
 42479  	}
 42480  	if !(fc&0x20 == Tuint32_t(0)) {
 42481  		goto __1112
 42482  	}
 42483  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42484  	goto __1113
 42485  __1112:
 42486  	if !(fc&0x10 == Tuint32_t(0)) {
 42487  		goto __1114
 42488  	}
 42489  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 42490  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 42491  	goto __1115
 42492  __1114:
 42493  	if !(fc&0x08 == Tuint32_t(0)) {
 42494  		goto __1116
 42495  	}
 42496  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 42497  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 42498  	goto __1117
 42499  __1116:
 42500  	if !(fc&0x04 == Tuint32_t(0)) {
 42501  		goto __1118
 42502  	}
 42503  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 42504  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 42505  	goto __1119
 42506  __1118:
 42507  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 42508  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 42509  __1119:
 42510  	;
 42511  __1117:
 42512  	;
 42513  __1115:
 42514  	;
 42515  __1113:
 42516  	;
 42517  __1111:
 42518  	;
 42519  
 42520  	(*Theapframe)(unsafe.Pointer(F)).Feptr = X_pcre2_extuni_8(tls, fc, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, utf,
 42521  		uintptr(0))
 42522  __1108:
 42523  	;
 42524  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42525  		goto __1120
 42526  	}
 42527  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 42528  		goto __1121
 42529  	}
 42530  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42531  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42532  		goto __1122
 42533  	}
 42534  	return -2
 42535  __1122:
 42536  	;
 42537  __1121:
 42538  	;
 42539  __1120:
 42540  	;
 42541  
 42542  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42543  	goto __13
 42544  
 42545  	// =====================================================================
 42546  	// Match a single character type repeatedly. Note that the property type
 42547  	//     does not need to be in a stack frame as it is not used within an RMATCH()
 42548  	//     loop.
 42549  
 42550  __94:
 42551  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = libc.AssignPtrUint32(F+56+1*4, uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 42552  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 42553  	goto REPEATTYPE
 42554  
 42555  __95:
 42556  __96:
 42557  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 42558  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 42559  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_TYPEMINUPTO {
 42560  		reptype = REPTYPE_MIN
 42561  	} else {
 42562  		reptype = REPTYPE_MAX
 42563  	}
 42564  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 42565  	goto REPEATTYPE
 42566  
 42567  __97:
 42568  	reptype = REPTYPE_POS
 42569  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 42570  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 42571  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42572  	goto REPEATTYPE
 42573  
 42574  __98:
 42575  	reptype = REPTYPE_POS
 42576  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(1)
 42577  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 42578  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42579  	goto REPEATTYPE
 42580  
 42581  __99:
 42582  	reptype = REPTYPE_POS
 42583  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 42584  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(1)
 42585  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 42586  	goto REPEATTYPE
 42587  
 42588  __100:
 42589  	reptype = REPTYPE_POS
 42590  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 42591  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 42592  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 42593  	goto REPEATTYPE
 42594  
 42595  __101:
 42596  __102:
 42597  __103:
 42598  __104:
 42599  __105:
 42600  __106:
 42601  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_TYPESTAR)
 42602  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc]
 42603  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc]
 42604  	reptype = rep_typ[fc]
 42605  
 42606  	// Common code for all repeated character type matches.
 42607  
 42608  REPEATTYPE:
 42609  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) // Code for the character type
 42610  
 42611  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_PROP || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) {
 42612  		goto __1123
 42613  	}
 42614  
 42615  	proptype = int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 42616  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1))))
 42617  	goto __1124
 42618  __1123:
 42619  	proptype = -1
 42620  __1124:
 42621  	;
 42622  
 42623  	// First, ensure the minimum number of matches are present. Use inline
 42624  	//     code for maximizing the speed, and do the type test once at the start
 42625  	//     (i.e. keep it out of the loops). As there are no calls to RMATCH in the
 42626  	//     loops, we can use an ordinary variable for "notmatch". The code for UTF
 42627  	//     mode is separated out for tidiness, except for Unicode property tests.
 42628  
 42629  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) > Tuint32_t(0)) {
 42630  		goto __1125
 42631  	}
 42632  
 42633  	if !(proptype >= 0) {
 42634  		goto __1126
 42635  	} /* Property tests in all modes */
 42636  
 42637  	notmatch1 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)
 42638  	switch proptype {
 42639  	case DPT_ANY:
 42640  		goto __1129
 42641  
 42642  	case DPT_LAMP:
 42643  		goto __1130
 42644  
 42645  	case DPT_GC:
 42646  		goto __1131
 42647  
 42648  	case DPT_PC:
 42649  		goto __1132
 42650  
 42651  	case DPT_SC:
 42652  		goto __1133
 42653  
 42654  	case DPT_SCX:
 42655  		goto __1134
 42656  
 42657  	case DPT_ALNUM:
 42658  		goto __1135
 42659  
 42660  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 42661  	//           which means that Perl space and POSIX space are now identical. PCRE
 42662  	//           was changed at release 8.34.
 42663  
 42664  	case DPT_SPACE:
 42665  		goto __1136 // Perl space
 42666  	case DPT_PXSPACE:
 42667  		goto __1137
 42668  
 42669  	case DPT_WORD:
 42670  		goto __1138
 42671  
 42672  	case DPT_CLIST:
 42673  		goto __1139
 42674  
 42675  	case DPT_UCNC:
 42676  		goto __1140
 42677  
 42678  	case DPT_BIDICL:
 42679  		goto __1141
 42680  
 42681  	case DPT_BOOL:
 42682  		goto __1142
 42683  
 42684  	// This should not occur
 42685  
 42686  	default:
 42687  		goto __1143
 42688  	}
 42689  	goto __1128
 42690  
 42691  __1129:
 42692  	if !(notmatch1 != 0) {
 42693  		goto __1144
 42694  	}
 42695  	rrc = DMATCH_NOMATCH
 42696  	goto RETURN_SWITCH
 42697  __1144:
 42698  	;
 42699  
 42700  	i = Tuint32_t(1)
 42701  __1145:
 42702  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 42703  		goto __1147
 42704  	}
 42705  
 42706  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42707  		goto __1148
 42708  	}
 42709  
 42710  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 42711  		goto __1149
 42712  	}
 42713  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42714  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42715  		goto __1150
 42716  	}
 42717  	return -2
 42718  __1150:
 42719  	;
 42720  __1149:
 42721  	;
 42722  
 42723  	rrc = DMATCH_NOMATCH
 42724  	goto RETURN_SWITCH
 42725  
 42726  __1148:
 42727  	;
 42728  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42729  	if !(utf != 0 && fc >= 0xc0) {
 42730  		goto __1151
 42731  	}
 42732  	if !(fc&0x20 == Tuint32_t(0)) {
 42733  		goto __1152
 42734  	}
 42735  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42736  	goto __1153
 42737  __1152:
 42738  	if !(fc&0x10 == Tuint32_t(0)) {
 42739  		goto __1154
 42740  	}
 42741  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 42742  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 42743  	goto __1155
 42744  __1154:
 42745  	if !(fc&0x08 == Tuint32_t(0)) {
 42746  		goto __1156
 42747  	}
 42748  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 42749  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 42750  	goto __1157
 42751  __1156:
 42752  	if !(fc&0x04 == Tuint32_t(0)) {
 42753  		goto __1158
 42754  	}
 42755  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 42756  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 42757  	goto __1159
 42758  __1158:
 42759  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 42760  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 42761  __1159:
 42762  	;
 42763  __1157:
 42764  	;
 42765  __1155:
 42766  	;
 42767  __1153:
 42768  	;
 42769  __1151:
 42770  	;
 42771  
 42772  	goto __1146
 42773  __1146:
 42774  	i++
 42775  	goto __1145
 42776  	goto __1147
 42777  __1147:
 42778  	;
 42779  	goto __1128
 42780  
 42781  __1130:
 42782  	i = Tuint32_t(1)
 42783  __1160:
 42784  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 42785  		goto __1162
 42786  	}
 42787  
 42788  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42789  		goto __1163
 42790  	}
 42791  
 42792  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 42793  		goto __1164
 42794  	}
 42795  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42796  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42797  		goto __1165
 42798  	}
 42799  	return -2
 42800  __1165:
 42801  	;
 42802  __1164:
 42803  	;
 42804  
 42805  	rrc = DMATCH_NOMATCH
 42806  	goto RETURN_SWITCH
 42807  
 42808  __1163:
 42809  	;
 42810  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42811  	if !(utf != 0 && fc >= 0xc0) {
 42812  		goto __1166
 42813  	}
 42814  	if !(fc&0x20 == Tuint32_t(0)) {
 42815  		goto __1167
 42816  	}
 42817  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42818  	goto __1168
 42819  __1167:
 42820  	if !(fc&0x10 == Tuint32_t(0)) {
 42821  		goto __1169
 42822  	}
 42823  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 42824  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 42825  	goto __1170
 42826  __1169:
 42827  	if !(fc&0x08 == Tuint32_t(0)) {
 42828  		goto __1171
 42829  	}
 42830  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 42831  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 42832  	goto __1172
 42833  __1171:
 42834  	if !(fc&0x04 == Tuint32_t(0)) {
 42835  		goto __1173
 42836  	}
 42837  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 42838  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 42839  	goto __1174
 42840  __1173:
 42841  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 42842  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 42843  __1174:
 42844  	;
 42845  __1172:
 42846  	;
 42847  __1170:
 42848  	;
 42849  __1168:
 42850  	;
 42851  __1166:
 42852  	;
 42853  
 42854  	chartype = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype)
 42855  	if !(libc.Bool32(chartype == ucp_Lu || chartype == ucp_Ll || chartype == ucp_Lt) == notmatch1) {
 42856  		goto __1175
 42857  	}
 42858  	rrc = DMATCH_NOMATCH
 42859  	goto RETURN_SWITCH
 42860  __1175:
 42861  	;
 42862  
 42863  	goto __1161
 42864  __1161:
 42865  	i++
 42866  	goto __1160
 42867  	goto __1162
 42868  __1162:
 42869  	;
 42870  	goto __1128
 42871  
 42872  __1131:
 42873  	i = Tuint32_t(1)
 42874  __1176:
 42875  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 42876  		goto __1178
 42877  	}
 42878  
 42879  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42880  		goto __1179
 42881  	}
 42882  
 42883  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 42884  		goto __1180
 42885  	}
 42886  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42887  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42888  		goto __1181
 42889  	}
 42890  	return -2
 42891  __1181:
 42892  	;
 42893  __1180:
 42894  	;
 42895  
 42896  	rrc = DMATCH_NOMATCH
 42897  	goto RETURN_SWITCH
 42898  
 42899  __1179:
 42900  	;
 42901  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42902  	if !(utf != 0 && fc >= 0xc0) {
 42903  		goto __1182
 42904  	}
 42905  	if !(fc&0x20 == Tuint32_t(0)) {
 42906  		goto __1183
 42907  	}
 42908  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42909  	goto __1184
 42910  __1183:
 42911  	if !(fc&0x10 == Tuint32_t(0)) {
 42912  		goto __1185
 42913  	}
 42914  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 42915  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 42916  	goto __1186
 42917  __1185:
 42918  	if !(fc&0x08 == Tuint32_t(0)) {
 42919  		goto __1187
 42920  	}
 42921  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 42922  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 42923  	goto __1188
 42924  __1187:
 42925  	if !(fc&0x04 == Tuint32_t(0)) {
 42926  		goto __1189
 42927  	}
 42928  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 42929  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 42930  	goto __1190
 42931  __1189:
 42932  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 42933  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 42934  __1190:
 42935  	;
 42936  __1188:
 42937  	;
 42938  __1186:
 42939  	;
 42940  __1184:
 42941  	;
 42942  __1182:
 42943  	;
 42944  
 42945  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch1) {
 42946  		goto __1191
 42947  	}
 42948  	rrc = DMATCH_NOMATCH
 42949  	goto RETURN_SWITCH
 42950  __1191:
 42951  	;
 42952  
 42953  	goto __1177
 42954  __1177:
 42955  	i++
 42956  	goto __1176
 42957  	goto __1178
 42958  __1178:
 42959  	;
 42960  	goto __1128
 42961  
 42962  __1132:
 42963  	i = Tuint32_t(1)
 42964  __1192:
 42965  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 42966  		goto __1194
 42967  	}
 42968  
 42969  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 42970  		goto __1195
 42971  	}
 42972  
 42973  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 42974  		goto __1196
 42975  	}
 42976  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 42977  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 42978  		goto __1197
 42979  	}
 42980  	return -2
 42981  __1197:
 42982  	;
 42983  __1196:
 42984  	;
 42985  
 42986  	rrc = DMATCH_NOMATCH
 42987  	goto RETURN_SWITCH
 42988  
 42989  __1195:
 42990  	;
 42991  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 42992  	if !(utf != 0 && fc >= 0xc0) {
 42993  		goto __1198
 42994  	}
 42995  	if !(fc&0x20 == Tuint32_t(0)) {
 42996  		goto __1199
 42997  	}
 42998  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 42999  	goto __1200
 43000  __1199:
 43001  	if !(fc&0x10 == Tuint32_t(0)) {
 43002  		goto __1201
 43003  	}
 43004  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43005  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43006  	goto __1202
 43007  __1201:
 43008  	if !(fc&0x08 == Tuint32_t(0)) {
 43009  		goto __1203
 43010  	}
 43011  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43012  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43013  	goto __1204
 43014  __1203:
 43015  	if !(fc&0x04 == Tuint32_t(0)) {
 43016  		goto __1205
 43017  	}
 43018  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43019  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43020  	goto __1206
 43021  __1205:
 43022  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43023  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43024  __1206:
 43025  	;
 43026  __1204:
 43027  	;
 43028  __1202:
 43029  	;
 43030  __1200:
 43031  	;
 43032  __1198:
 43033  	;
 43034  
 43035  	if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch1) {
 43036  		goto __1207
 43037  	}
 43038  	rrc = DMATCH_NOMATCH
 43039  	goto RETURN_SWITCH
 43040  __1207:
 43041  	;
 43042  
 43043  	goto __1193
 43044  __1193:
 43045  	i++
 43046  	goto __1192
 43047  	goto __1194
 43048  __1194:
 43049  	;
 43050  	goto __1128
 43051  
 43052  __1133:
 43053  	i = Tuint32_t(1)
 43054  __1208:
 43055  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43056  		goto __1210
 43057  	}
 43058  
 43059  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43060  		goto __1211
 43061  	}
 43062  
 43063  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43064  		goto __1212
 43065  	}
 43066  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43067  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43068  		goto __1213
 43069  	}
 43070  	return -2
 43071  __1213:
 43072  	;
 43073  __1212:
 43074  	;
 43075  
 43076  	rrc = DMATCH_NOMATCH
 43077  	goto RETURN_SWITCH
 43078  
 43079  __1211:
 43080  	;
 43081  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43082  	if !(utf != 0 && fc >= 0xc0) {
 43083  		goto __1214
 43084  	}
 43085  	if !(fc&0x20 == Tuint32_t(0)) {
 43086  		goto __1215
 43087  	}
 43088  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43089  	goto __1216
 43090  __1215:
 43091  	if !(fc&0x10 == Tuint32_t(0)) {
 43092  		goto __1217
 43093  	}
 43094  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43095  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43096  	goto __1218
 43097  __1217:
 43098  	if !(fc&0x08 == Tuint32_t(0)) {
 43099  		goto __1219
 43100  	}
 43101  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43102  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43103  	goto __1220
 43104  __1219:
 43105  	if !(fc&0x04 == Tuint32_t(0)) {
 43106  		goto __1221
 43107  	}
 43108  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43109  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43110  	goto __1222
 43111  __1221:
 43112  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43113  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43114  __1222:
 43115  	;
 43116  __1220:
 43117  	;
 43118  __1218:
 43119  	;
 43120  __1216:
 43121  	;
 43122  __1214:
 43123  	;
 43124  
 43125  	if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch1) {
 43126  		goto __1223
 43127  	}
 43128  	rrc = DMATCH_NOMATCH
 43129  	goto RETURN_SWITCH
 43130  __1223:
 43131  	;
 43132  
 43133  	goto __1209
 43134  __1209:
 43135  	i++
 43136  	goto __1208
 43137  	goto __1210
 43138  __1210:
 43139  	;
 43140  	goto __1128
 43141  
 43142  __1134:
 43143  	i = Tuint32_t(1)
 43144  __1224:
 43145  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43146  		goto __1226
 43147  	}
 43148  
 43149  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43150  		goto __1227
 43151  	}
 43152  
 43153  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43154  		goto __1228
 43155  	}
 43156  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43157  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43158  		goto __1229
 43159  	}
 43160  	return -2
 43161  __1229:
 43162  	;
 43163  __1228:
 43164  	;
 43165  
 43166  	rrc = DMATCH_NOMATCH
 43167  	goto RETURN_SWITCH
 43168  
 43169  __1227:
 43170  	;
 43171  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43172  	if !(utf != 0 && fc >= 0xc0) {
 43173  		goto __1230
 43174  	}
 43175  	if !(fc&0x20 == Tuint32_t(0)) {
 43176  		goto __1231
 43177  	}
 43178  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43179  	goto __1232
 43180  __1231:
 43181  	if !(fc&0x10 == Tuint32_t(0)) {
 43182  		goto __1233
 43183  	}
 43184  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43185  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43186  	goto __1234
 43187  __1233:
 43188  	if !(fc&0x08 == Tuint32_t(0)) {
 43189  		goto __1235
 43190  	}
 43191  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43192  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43193  	goto __1236
 43194  __1235:
 43195  	if !(fc&0x04 == Tuint32_t(0)) {
 43196  		goto __1237
 43197  	}
 43198  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43199  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43200  	goto __1238
 43201  __1237:
 43202  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43203  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43204  __1238:
 43205  	;
 43206  __1236:
 43207  	;
 43208  __1234:
 43209  	;
 43210  __1232:
 43211  	;
 43212  __1230:
 43213  	;
 43214  
 43215  	prop1 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12
 43216  	ok2 = libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(prop1)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop1)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 43217  	if !(ok2 == notmatch1) {
 43218  		goto __1239
 43219  	}
 43220  	rrc = DMATCH_NOMATCH
 43221  	goto RETURN_SWITCH
 43222  __1239:
 43223  	;
 43224  
 43225  	goto __1225
 43226  __1225:
 43227  	i++
 43228  	goto __1224
 43229  	goto __1226
 43230  __1226:
 43231  	;
 43232  	goto __1128
 43233  
 43234  __1135:
 43235  	i = Tuint32_t(1)
 43236  __1240:
 43237  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43238  		goto __1242
 43239  	}
 43240  
 43241  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43242  		goto __1243
 43243  	}
 43244  
 43245  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43246  		goto __1244
 43247  	}
 43248  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43249  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43250  		goto __1245
 43251  	}
 43252  	return -2
 43253  __1245:
 43254  	;
 43255  __1244:
 43256  	;
 43257  
 43258  	rrc = DMATCH_NOMATCH
 43259  	goto RETURN_SWITCH
 43260  
 43261  __1243:
 43262  	;
 43263  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43264  	if !(utf != 0 && fc >= 0xc0) {
 43265  		goto __1246
 43266  	}
 43267  	if !(fc&0x20 == Tuint32_t(0)) {
 43268  		goto __1247
 43269  	}
 43270  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43271  	goto __1248
 43272  __1247:
 43273  	if !(fc&0x10 == Tuint32_t(0)) {
 43274  		goto __1249
 43275  	}
 43276  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43277  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43278  	goto __1250
 43279  __1249:
 43280  	if !(fc&0x08 == Tuint32_t(0)) {
 43281  		goto __1251
 43282  	}
 43283  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43284  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43285  	goto __1252
 43286  __1251:
 43287  	if !(fc&0x04 == Tuint32_t(0)) {
 43288  		goto __1253
 43289  	}
 43290  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43291  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43292  	goto __1254
 43293  __1253:
 43294  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43295  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43296  __1254:
 43297  	;
 43298  __1252:
 43299  	;
 43300  __1250:
 43301  	;
 43302  __1248:
 43303  	;
 43304  __1246:
 43305  	;
 43306  
 43307  	category = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 43308  	if !(libc.Bool32(category == ucp_L || category == ucp_N) == notmatch1) {
 43309  		goto __1255
 43310  	}
 43311  	rrc = DMATCH_NOMATCH
 43312  	goto RETURN_SWITCH
 43313  __1255:
 43314  	;
 43315  
 43316  	goto __1241
 43317  __1241:
 43318  	i++
 43319  	goto __1240
 43320  	goto __1242
 43321  __1242:
 43322  	;
 43323  	goto __1128
 43324  
 43325  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 43326  	//           which means that Perl space and POSIX space are now identical. PCRE
 43327  	//           was changed at release 8.34.
 43328  
 43329  __1136: // Perl space
 43330  __1137: // POSIX space
 43331  	i = Tuint32_t(1)
 43332  __1256:
 43333  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43334  		goto __1258
 43335  	}
 43336  
 43337  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43338  		goto __1259
 43339  	}
 43340  
 43341  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43342  		goto __1260
 43343  	}
 43344  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43345  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43346  		goto __1261
 43347  	}
 43348  	return -2
 43349  __1261:
 43350  	;
 43351  __1260:
 43352  	;
 43353  
 43354  	rrc = DMATCH_NOMATCH
 43355  	goto RETURN_SWITCH
 43356  
 43357  __1259:
 43358  	;
 43359  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43360  	if !(utf != 0 && fc >= 0xc0) {
 43361  		goto __1262
 43362  	}
 43363  	if !(fc&0x20 == Tuint32_t(0)) {
 43364  		goto __1263
 43365  	}
 43366  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43367  	goto __1264
 43368  __1263:
 43369  	if !(fc&0x10 == Tuint32_t(0)) {
 43370  		goto __1265
 43371  	}
 43372  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43373  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43374  	goto __1266
 43375  __1265:
 43376  	if !(fc&0x08 == Tuint32_t(0)) {
 43377  		goto __1267
 43378  	}
 43379  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43380  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43381  	goto __1268
 43382  __1267:
 43383  	if !(fc&0x04 == Tuint32_t(0)) {
 43384  		goto __1269
 43385  	}
 43386  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43387  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43388  	goto __1270
 43389  __1269:
 43390  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43391  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43392  __1270:
 43393  	;
 43394  __1268:
 43395  	;
 43396  __1266:
 43397  	;
 43398  __1264:
 43399  	;
 43400  __1262:
 43401  	;
 43402  
 43403  	switch fc {
 43404  	case Tuint32_t('\011'):
 43405  		goto __1272
 43406  	case Tuint32_t('\040'):
 43407  		goto __1273
 43408  	case Tuint32_t(uint8('\xa0')):
 43409  		goto __1274
 43410  	case Tuint32_t(0x1680):
 43411  		goto __1275 /* OGHAM SPACE MARK */
 43412  	case Tuint32_t(0x180e):
 43413  		goto __1276 /* MONGOLIAN VOWEL SEPARATOR */
 43414  	case Tuint32_t(0x2000):
 43415  		goto __1277 /* EN QUAD */
 43416  	case Tuint32_t(0x2001):
 43417  		goto __1278 /* EM QUAD */
 43418  	case Tuint32_t(0x2002):
 43419  		goto __1279 /* EN SPACE */
 43420  	case Tuint32_t(0x2003):
 43421  		goto __1280 /* EM SPACE */
 43422  	case Tuint32_t(0x2004):
 43423  		goto __1281 /* THREE-PER-EM SPACE */
 43424  	case Tuint32_t(0x2005):
 43425  		goto __1282 /* FOUR-PER-EM SPACE */
 43426  	case Tuint32_t(0x2006):
 43427  		goto __1283 /* SIX-PER-EM SPACE */
 43428  	case Tuint32_t(0x2007):
 43429  		goto __1284 /* FIGURE SPACE */
 43430  	case Tuint32_t(0x2008):
 43431  		goto __1285 /* PUNCTUATION SPACE */
 43432  	case Tuint32_t(0x2009):
 43433  		goto __1286 /* THIN SPACE */
 43434  	case Tuint32_t(0x200A):
 43435  		goto __1287 /* HAIR SPACE */
 43436  	case Tuint32_t(0x202f):
 43437  		goto __1288 /* NARROW NO-BREAK SPACE */
 43438  	case Tuint32_t(0x205f):
 43439  		goto __1289 /* MEDIUM MATHEMATICAL SPACE */
 43440  	case Tuint32_t(0x3000):
 43441  		goto __1290
 43442  	case Tuint32_t('\012'):
 43443  		goto __1291
 43444  	case Tuint32_t('\013'):
 43445  		goto __1292
 43446  	case Tuint32_t('\014'):
 43447  		goto __1293
 43448  	case Tuint32_t('\015'):
 43449  		goto __1294
 43450  	case Tuint32_t(uint8('\x85')):
 43451  		goto __1295
 43452  	case Tuint32_t(0x2028):
 43453  		goto __1296 /* LINE SEPARATOR */
 43454  	case Tuint32_t(0x2029):
 43455  		goto __1297
 43456  
 43457  	default:
 43458  		goto __1298
 43459  	}
 43460  	goto __1271
 43461  
 43462  __1272:
 43463  __1273:
 43464  __1274:
 43465  __1275: /* OGHAM SPACE MARK */
 43466  __1276: /* MONGOLIAN VOWEL SEPARATOR */
 43467  __1277: /* EN QUAD */
 43468  __1278: /* EM QUAD */
 43469  __1279: /* EN SPACE */
 43470  __1280: /* EM SPACE */
 43471  __1281: /* THREE-PER-EM SPACE */
 43472  __1282: /* FOUR-PER-EM SPACE */
 43473  __1283: /* SIX-PER-EM SPACE */
 43474  __1284: /* FIGURE SPACE */
 43475  __1285: /* PUNCTUATION SPACE */
 43476  __1286: /* THIN SPACE */
 43477  __1287: /* HAIR SPACE */
 43478  __1288: /* NARROW NO-BREAK SPACE */
 43479  __1289: /* MEDIUM MATHEMATICAL SPACE */
 43480  __1290:
 43481  __1291:
 43482  __1292:
 43483  __1293:
 43484  __1294:
 43485  __1295:
 43486  __1296: /* LINE SEPARATOR */
 43487  __1297:
 43488  	if !(notmatch1 != 0) {
 43489  		goto __1299
 43490  	}
 43491  	rrc = DMATCH_NOMATCH
 43492  	goto RETURN_SWITCH
 43493  __1299:
 43494  	;
 43495  
 43496  	goto __1271
 43497  
 43498  __1298:
 43499  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == ucp_Z) == notmatch1) {
 43500  		goto __1300
 43501  	}
 43502  	rrc = DMATCH_NOMATCH
 43503  	goto RETURN_SWITCH
 43504  __1300:
 43505  	;
 43506  
 43507  	goto __1271
 43508  __1271:
 43509  	;
 43510  	goto __1257
 43511  __1257:
 43512  	i++
 43513  	goto __1256
 43514  	goto __1258
 43515  __1258:
 43516  	;
 43517  	goto __1128
 43518  
 43519  __1138:
 43520  	i = Tuint32_t(1)
 43521  __1301:
 43522  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43523  		goto __1303
 43524  	}
 43525  
 43526  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43527  		goto __1304
 43528  	}
 43529  
 43530  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43531  		goto __1305
 43532  	}
 43533  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43534  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43535  		goto __1306
 43536  	}
 43537  	return -2
 43538  __1306:
 43539  	;
 43540  __1305:
 43541  	;
 43542  
 43543  	rrc = DMATCH_NOMATCH
 43544  	goto RETURN_SWITCH
 43545  
 43546  __1304:
 43547  	;
 43548  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43549  	if !(utf != 0 && fc >= 0xc0) {
 43550  		goto __1307
 43551  	}
 43552  	if !(fc&0x20 == Tuint32_t(0)) {
 43553  		goto __1308
 43554  	}
 43555  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43556  	goto __1309
 43557  __1308:
 43558  	if !(fc&0x10 == Tuint32_t(0)) {
 43559  		goto __1310
 43560  	}
 43561  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43562  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43563  	goto __1311
 43564  __1310:
 43565  	if !(fc&0x08 == Tuint32_t(0)) {
 43566  		goto __1312
 43567  	}
 43568  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43569  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43570  	goto __1313
 43571  __1312:
 43572  	if !(fc&0x04 == Tuint32_t(0)) {
 43573  		goto __1314
 43574  	}
 43575  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43576  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43577  	goto __1315
 43578  __1314:
 43579  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43580  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43581  __1315:
 43582  	;
 43583  __1313:
 43584  	;
 43585  __1311:
 43586  	;
 43587  __1309:
 43588  	;
 43589  __1307:
 43590  	;
 43591  
 43592  	category1 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 43593  	if !(libc.Bool32(category1 == ucp_L || category1 == ucp_N || fc == Tuint32_t('\137')) == notmatch1) {
 43594  		goto __1316
 43595  	}
 43596  	rrc = DMATCH_NOMATCH
 43597  	goto RETURN_SWITCH
 43598  __1316:
 43599  	;
 43600  
 43601  	goto __1302
 43602  __1302:
 43603  	i++
 43604  	goto __1301
 43605  	goto __1303
 43606  __1303:
 43607  	;
 43608  	goto __1128
 43609  
 43610  __1139:
 43611  	i = Tuint32_t(1)
 43612  __1317:
 43613  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43614  		goto __1319
 43615  	}
 43616  
 43617  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43618  		goto __1320
 43619  	}
 43620  
 43621  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43622  		goto __1321
 43623  	}
 43624  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43625  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43626  		goto __1322
 43627  	}
 43628  	return -2
 43629  __1322:
 43630  	;
 43631  __1321:
 43632  	;
 43633  
 43634  	rrc = DMATCH_NOMATCH
 43635  	goto RETURN_SWITCH
 43636  
 43637  __1320:
 43638  	;
 43639  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43640  	if !(utf != 0 && fc >= 0xc0) {
 43641  		goto __1323
 43642  	}
 43643  	if !(fc&0x20 == Tuint32_t(0)) {
 43644  		goto __1324
 43645  	}
 43646  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43647  	goto __1325
 43648  __1324:
 43649  	if !(fc&0x10 == Tuint32_t(0)) {
 43650  		goto __1326
 43651  	}
 43652  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43653  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43654  	goto __1327
 43655  __1326:
 43656  	if !(fc&0x08 == Tuint32_t(0)) {
 43657  		goto __1328
 43658  	}
 43659  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43660  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43661  	goto __1329
 43662  __1328:
 43663  	if !(fc&0x04 == Tuint32_t(0)) {
 43664  		goto __1330
 43665  	}
 43666  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43667  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43668  	goto __1331
 43669  __1330:
 43670  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43671  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43672  __1331:
 43673  	;
 43674  __1329:
 43675  	;
 43676  __1327:
 43677  	;
 43678  __1325:
 43679  	;
 43680  __1323:
 43681  	;
 43682  
 43683  	cp1 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)))*4
 43684  __1332:
 43685  
 43686  	if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp1))) {
 43687  		goto __1335
 43688  	}
 43689  
 43690  	if !(notmatch1 != 0) {
 43691  		goto __1336
 43692  	}
 43693  	goto __1334
 43694  __1336:
 43695  	;
 43696  	rrc = DMATCH_NOMATCH
 43697  	goto RETURN_SWITCH
 43698  
 43699  __1335:
 43700  	;
 43701  	if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp1, 4)))) {
 43702  		goto __1337
 43703  	}
 43704  
 43705  	if !(notmatch1 != 0) {
 43706  		goto __1338
 43707  	}
 43708  	rrc = DMATCH_NOMATCH
 43709  	goto RETURN_SWITCH
 43710  __1338:
 43711  	;
 43712  
 43713  	goto __1334
 43714  __1337:
 43715  	;
 43716  	goto __1333
 43717  __1333:
 43718  	goto __1332
 43719  	goto __1334
 43720  __1334:
 43721  	;
 43722  	goto __1318
 43723  __1318:
 43724  	i++
 43725  	goto __1317
 43726  	goto __1319
 43727  __1319:
 43728  	;
 43729  	goto __1128
 43730  
 43731  __1140:
 43732  	i = Tuint32_t(1)
 43733  __1339:
 43734  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43735  		goto __1341
 43736  	}
 43737  
 43738  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43739  		goto __1342
 43740  	}
 43741  
 43742  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43743  		goto __1343
 43744  	}
 43745  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43746  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43747  		goto __1344
 43748  	}
 43749  	return -2
 43750  __1344:
 43751  	;
 43752  __1343:
 43753  	;
 43754  
 43755  	rrc = DMATCH_NOMATCH
 43756  	goto RETURN_SWITCH
 43757  
 43758  __1342:
 43759  	;
 43760  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43761  	if !(utf != 0 && fc >= 0xc0) {
 43762  		goto __1345
 43763  	}
 43764  	if !(fc&0x20 == Tuint32_t(0)) {
 43765  		goto __1346
 43766  	}
 43767  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43768  	goto __1347
 43769  __1346:
 43770  	if !(fc&0x10 == Tuint32_t(0)) {
 43771  		goto __1348
 43772  	}
 43773  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43774  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43775  	goto __1349
 43776  __1348:
 43777  	if !(fc&0x08 == Tuint32_t(0)) {
 43778  		goto __1350
 43779  	}
 43780  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43781  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43782  	goto __1351
 43783  __1350:
 43784  	if !(fc&0x04 == Tuint32_t(0)) {
 43785  		goto __1352
 43786  	}
 43787  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43788  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43789  	goto __1353
 43790  __1352:
 43791  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43792  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43793  __1353:
 43794  	;
 43795  __1351:
 43796  	;
 43797  __1349:
 43798  	;
 43799  __1347:
 43800  	;
 43801  __1345:
 43802  	;
 43803  
 43804  	if !(libc.Bool32(fc == Tuint32_t('\044') || fc == Tuint32_t('\100') || fc == Tuint32_t('\140') || fc >= Tuint32_t(0xa0) && fc <= Tuint32_t(0xd7ff) || fc >= Tuint32_t(0xe000)) == notmatch1) {
 43805  		goto __1354
 43806  	}
 43807  	rrc = DMATCH_NOMATCH
 43808  	goto RETURN_SWITCH
 43809  __1354:
 43810  	;
 43811  
 43812  	goto __1340
 43813  __1340:
 43814  	i++
 43815  	goto __1339
 43816  	goto __1341
 43817  __1341:
 43818  	;
 43819  	goto __1128
 43820  
 43821  __1141:
 43822  	i = Tuint32_t(1)
 43823  __1355:
 43824  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43825  		goto __1357
 43826  	}
 43827  
 43828  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43829  		goto __1358
 43830  	}
 43831  
 43832  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43833  		goto __1359
 43834  	}
 43835  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43836  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43837  		goto __1360
 43838  	}
 43839  	return -2
 43840  __1360:
 43841  	;
 43842  __1359:
 43843  	;
 43844  
 43845  	rrc = DMATCH_NOMATCH
 43846  	goto RETURN_SWITCH
 43847  
 43848  __1358:
 43849  	;
 43850  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43851  	if !(utf != 0 && fc >= 0xc0) {
 43852  		goto __1361
 43853  	}
 43854  	if !(fc&0x20 == Tuint32_t(0)) {
 43855  		goto __1362
 43856  	}
 43857  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43858  	goto __1363
 43859  __1362:
 43860  	if !(fc&0x10 == Tuint32_t(0)) {
 43861  		goto __1364
 43862  	}
 43863  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43864  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43865  	goto __1365
 43866  __1364:
 43867  	if !(fc&0x08 == Tuint32_t(0)) {
 43868  		goto __1366
 43869  	}
 43870  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43871  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43872  	goto __1367
 43873  __1366:
 43874  	if !(fc&0x04 == Tuint32_t(0)) {
 43875  		goto __1368
 43876  	}
 43877  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43878  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43879  	goto __1369
 43880  __1368:
 43881  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43882  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43883  __1369:
 43884  	;
 43885  __1367:
 43886  	;
 43887  __1365:
 43888  	;
 43889  __1363:
 43890  	;
 43891  __1361:
 43892  	;
 43893  
 43894  	if !(libc.Bool32(Tuint32_t(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch1) {
 43895  		goto __1370
 43896  	}
 43897  	rrc = DMATCH_NOMATCH
 43898  	goto RETURN_SWITCH
 43899  __1370:
 43900  	;
 43901  
 43902  	goto __1356
 43903  __1356:
 43904  	i++
 43905  	goto __1355
 43906  	goto __1357
 43907  __1357:
 43908  	;
 43909  	goto __1128
 43910  
 43911  __1142:
 43912  	i = Tuint32_t(1)
 43913  __1371:
 43914  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 43915  		goto __1373
 43916  	}
 43917  
 43918  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 43919  		goto __1374
 43920  	}
 43921  
 43922  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 43923  		goto __1375
 43924  	}
 43925  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 43926  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 43927  		goto __1376
 43928  	}
 43929  	return -2
 43930  __1376:
 43931  	;
 43932  __1375:
 43933  	;
 43934  
 43935  	rrc = DMATCH_NOMATCH
 43936  	goto RETURN_SWITCH
 43937  
 43938  __1374:
 43939  	;
 43940  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 43941  	if !(utf != 0 && fc >= 0xc0) {
 43942  		goto __1377
 43943  	}
 43944  	if !(fc&0x20 == Tuint32_t(0)) {
 43945  		goto __1378
 43946  	}
 43947  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 43948  	goto __1379
 43949  __1378:
 43950  	if !(fc&0x10 == Tuint32_t(0)) {
 43951  		goto __1380
 43952  	}
 43953  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 43954  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 43955  	goto __1381
 43956  __1380:
 43957  	if !(fc&0x08 == Tuint32_t(0)) {
 43958  		goto __1382
 43959  	}
 43960  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 43961  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 43962  	goto __1383
 43963  __1382:
 43964  	if !(fc&0x04 == Tuint32_t(0)) {
 43965  		goto __1384
 43966  	}
 43967  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 43968  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 43969  	goto __1385
 43970  __1384:
 43971  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 43972  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 43973  __1385:
 43974  	;
 43975  __1383:
 43976  	;
 43977  __1381:
 43978  	;
 43979  __1379:
 43980  	;
 43981  __1377:
 43982  	;
 43983  
 43984  	prop2 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12
 43985  	ok3 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop2)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 43986  	if !(ok3 == notmatch1) {
 43987  		goto __1386
 43988  	}
 43989  	rrc = DMATCH_NOMATCH
 43990  	goto RETURN_SWITCH
 43991  __1386:
 43992  	;
 43993  
 43994  	goto __1372
 43995  __1372:
 43996  	i++
 43997  	goto __1371
 43998  	goto __1373
 43999  __1373:
 44000  	;
 44001  	goto __1128
 44002  
 44003  	// This should not occur
 44004  
 44005  __1143:
 44006  	return -44
 44007  __1128:
 44008  	;
 44009  	goto __1127
 44010  __1126:
 44011  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_EXTUNI) {
 44012  		goto __1387
 44013  	}
 44014  
 44015  	i = Tuint32_t(1)
 44016  __1389:
 44017  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44018  		goto __1391
 44019  	}
 44020  
 44021  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44022  		goto __1392
 44023  	}
 44024  
 44025  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44026  		goto __1394
 44027  	}
 44028  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44029  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44030  		goto __1395
 44031  	}
 44032  	return -2
 44033  __1395:
 44034  	;
 44035  __1394:
 44036  	;
 44037  
 44038  	rrc = DMATCH_NOMATCH
 44039  	goto RETURN_SWITCH
 44040  
 44041  	goto __1393
 44042  __1392:
 44043  
 44044  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44045  	if !(utf != 0 && fc >= 0xc0) {
 44046  		goto __1396
 44047  	}
 44048  	if !(fc&0x20 == Tuint32_t(0)) {
 44049  		goto __1397
 44050  	}
 44051  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44052  	goto __1398
 44053  __1397:
 44054  	if !(fc&0x10 == Tuint32_t(0)) {
 44055  		goto __1399
 44056  	}
 44057  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 44058  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 44059  	goto __1400
 44060  __1399:
 44061  	if !(fc&0x08 == Tuint32_t(0)) {
 44062  		goto __1401
 44063  	}
 44064  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 44065  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 44066  	goto __1402
 44067  __1401:
 44068  	if !(fc&0x04 == Tuint32_t(0)) {
 44069  		goto __1403
 44070  	}
 44071  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 44072  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 44073  	goto __1404
 44074  __1403:
 44075  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 44076  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 44077  __1404:
 44078  	;
 44079  __1402:
 44080  	;
 44081  __1400:
 44082  	;
 44083  __1398:
 44084  	;
 44085  __1396:
 44086  	;
 44087  
 44088  	(*Theapframe)(unsafe.Pointer(F)).Feptr = X_pcre2_extuni_8(tls, fc, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject,
 44089  		(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, utf, uintptr(0))
 44090  __1393:
 44091  	;
 44092  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44093  		goto __1405
 44094  	}
 44095  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44096  		goto __1406
 44097  	}
 44098  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44099  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44100  		goto __1407
 44101  	}
 44102  	return -2
 44103  __1407:
 44104  	;
 44105  __1406:
 44106  	;
 44107  __1405:
 44108  	;
 44109  
 44110  	goto __1390
 44111  __1390:
 44112  	i++
 44113  	goto __1389
 44114  	goto __1391
 44115  __1391:
 44116  	;
 44117  	goto __1388
 44118  __1387:
 44119  
 44120  	// Handle all other cases in UTF mode
 44121  
 44122  	if !(utf != 0) {
 44123  		goto __1408
 44124  	}
 44125  	switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) {
 44126  	case OP_ANY:
 44127  		goto __1411
 44128  
 44129  	case OP_ALLANY:
 44130  		goto __1412
 44131  
 44132  	case OP_ANYBYTE:
 44133  		goto __1413
 44134  
 44135  	case OP_ANYNL:
 44136  		goto __1414
 44137  
 44138  	case OP_NOT_HSPACE:
 44139  		goto __1415
 44140  
 44141  	case OP_HSPACE:
 44142  		goto __1416
 44143  
 44144  	case OP_NOT_VSPACE:
 44145  		goto __1417
 44146  
 44147  	case OP_VSPACE:
 44148  		goto __1418
 44149  
 44150  	case OP_NOT_DIGIT:
 44151  		goto __1419
 44152  
 44153  	case OP_DIGIT:
 44154  		goto __1420
 44155  
 44156  	case OP_NOT_WHITESPACE:
 44157  		goto __1421
 44158  
 44159  	case OP_WHITESPACE:
 44160  		goto __1422
 44161  
 44162  	case OP_NOT_WORDCHAR:
 44163  		goto __1423
 44164  
 44165  	case OP_WORDCHAR:
 44166  		goto __1424
 44167  
 44168  	default:
 44169  		goto __1425
 44170  	}
 44171  	goto __1410
 44172  
 44173  __1411:
 44174  	i = Tuint32_t(1)
 44175  __1426:
 44176  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44177  		goto __1428
 44178  	}
 44179  
 44180  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44181  		goto __1429
 44182  	}
 44183  
 44184  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44185  		goto __1430
 44186  	}
 44187  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44188  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44189  		goto __1431
 44190  	}
 44191  	return -2
 44192  __1431:
 44193  	;
 44194  __1430:
 44195  	;
 44196  
 44197  	rrc = DMATCH_NOMATCH
 44198  	goto RETURN_SWITCH
 44199  
 44200  __1429:
 44201  	;
 44202  	if !(func() int32 {
 44203  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 44204  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 44205  		}
 44206  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 44207  	}() != 0) {
 44208  		goto __1432
 44209  	}
 44210  	rrc = DMATCH_NOMATCH
 44211  	goto RETURN_SWITCH
 44212  __1432:
 44213  	;
 44214  
 44215  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 44216  		goto __1433
 44217  	}
 44218  
 44219  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44220  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44221  		goto __1434
 44222  	}
 44223  	return -2
 44224  __1434:
 44225  	;
 44226  __1433:
 44227  	;
 44228  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44229  __1435:
 44230  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 44231  		goto __1436
 44232  	}
 44233  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44234  	goto __1435
 44235  __1436:
 44236  	;
 44237  	goto __1427
 44238  __1427:
 44239  	i++
 44240  	goto __1426
 44241  	goto __1428
 44242  __1428:
 44243  	;
 44244  	goto __1410
 44245  
 44246  __1412:
 44247  	i = Tuint32_t(1)
 44248  __1437:
 44249  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44250  		goto __1439
 44251  	}
 44252  
 44253  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44254  		goto __1440
 44255  	}
 44256  
 44257  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44258  		goto __1441
 44259  	}
 44260  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44261  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44262  		goto __1442
 44263  	}
 44264  	return -2
 44265  __1442:
 44266  	;
 44267  __1441:
 44268  	;
 44269  
 44270  	rrc = DMATCH_NOMATCH
 44271  	goto RETURN_SWITCH
 44272  
 44273  __1440:
 44274  	;
 44275  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44276  __1443:
 44277  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 44278  		goto __1444
 44279  	}
 44280  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44281  	goto __1443
 44282  __1444:
 44283  	;
 44284  	goto __1438
 44285  __1438:
 44286  	i++
 44287  	goto __1437
 44288  	goto __1439
 44289  __1439:
 44290  	;
 44291  	goto __1410
 44292  
 44293  __1413:
 44294  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56)))) {
 44295  		goto __1445
 44296  	}
 44297  	rrc = DMATCH_NOMATCH
 44298  	goto RETURN_SWITCH
 44299  __1445:
 44300  	;
 44301  
 44302  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tuint32_t)(unsafe.Pointer(F + 56)))
 44303  	goto __1410
 44304  
 44305  __1414:
 44306  	i = Tuint32_t(1)
 44307  __1446:
 44308  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44309  		goto __1448
 44310  	}
 44311  
 44312  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44313  		goto __1449
 44314  	}
 44315  
 44316  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44317  		goto __1450
 44318  	}
 44319  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44320  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44321  		goto __1451
 44322  	}
 44323  	return -2
 44324  __1451:
 44325  	;
 44326  __1450:
 44327  	;
 44328  
 44329  	rrc = DMATCH_NOMATCH
 44330  	goto RETURN_SWITCH
 44331  
 44332  __1449:
 44333  	;
 44334  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44335  	if !(fc >= 0xc0) {
 44336  		goto __1452
 44337  	}
 44338  	if !(fc&0x20 == Tuint32_t(0)) {
 44339  		goto __1453
 44340  	}
 44341  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44342  	goto __1454
 44343  __1453:
 44344  	if !(fc&0x10 == Tuint32_t(0)) {
 44345  		goto __1455
 44346  	}
 44347  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 44348  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 44349  	goto __1456
 44350  __1455:
 44351  	if !(fc&0x08 == Tuint32_t(0)) {
 44352  		goto __1457
 44353  	}
 44354  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 44355  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 44356  	goto __1458
 44357  __1457:
 44358  	if !(fc&0x04 == Tuint32_t(0)) {
 44359  		goto __1459
 44360  	}
 44361  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 44362  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 44363  	goto __1460
 44364  __1459:
 44365  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 44366  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 44367  __1460:
 44368  	;
 44369  __1458:
 44370  	;
 44371  __1456:
 44372  	;
 44373  __1454:
 44374  	;
 44375  __1452:
 44376  	;
 44377  
 44378  	switch fc {
 44379  	default:
 44380  		goto __1462
 44381  
 44382  	case Tuint32_t('\015'):
 44383  		goto __1463
 44384  
 44385  	case Tuint32_t('\012'):
 44386  		goto __1464
 44387  
 44388  	case Tuint32_t('\013'):
 44389  		goto __1465
 44390  	case Tuint32_t('\014'):
 44391  		goto __1466
 44392  	case Tuint32_t(uint8('\x85')):
 44393  		goto __1467
 44394  	case Tuint32_t(0x2028):
 44395  		goto __1468
 44396  	case Tuint32_t(0x2029):
 44397  		goto __1469
 44398  	}
 44399  	goto __1461
 44400  
 44401  __1462:
 44402  	rrc = DMATCH_NOMATCH
 44403  	goto RETURN_SWITCH
 44404  
 44405  __1463:
 44406  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 44407  		goto __1470
 44408  	}
 44409  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 44410  __1470:
 44411  	;
 44412  	goto __1461
 44413  
 44414  __1464:
 44415  	goto __1461
 44416  
 44417  __1465:
 44418  __1466:
 44419  __1467:
 44420  __1468:
 44421  __1469:
 44422  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 44423  		goto __1471
 44424  	}
 44425  	rrc = DMATCH_NOMATCH
 44426  	goto RETURN_SWITCH
 44427  __1471:
 44428  	;
 44429  
 44430  	goto __1461
 44431  __1461:
 44432  	;
 44433  	goto __1447
 44434  __1447:
 44435  	i++
 44436  	goto __1446
 44437  	goto __1448
 44438  __1448:
 44439  	;
 44440  	goto __1410
 44441  
 44442  __1415:
 44443  	i = Tuint32_t(1)
 44444  __1472:
 44445  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44446  		goto __1474
 44447  	}
 44448  
 44449  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44450  		goto __1475
 44451  	}
 44452  
 44453  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44454  		goto __1476
 44455  	}
 44456  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44457  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44458  		goto __1477
 44459  	}
 44460  	return -2
 44461  __1477:
 44462  	;
 44463  __1476:
 44464  	;
 44465  
 44466  	rrc = DMATCH_NOMATCH
 44467  	goto RETURN_SWITCH
 44468  
 44469  __1475:
 44470  	;
 44471  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44472  	if !(fc >= 0xc0) {
 44473  		goto __1478
 44474  	}
 44475  	if !(fc&0x20 == Tuint32_t(0)) {
 44476  		goto __1479
 44477  	}
 44478  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44479  	goto __1480
 44480  __1479:
 44481  	if !(fc&0x10 == Tuint32_t(0)) {
 44482  		goto __1481
 44483  	}
 44484  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 44485  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 44486  	goto __1482
 44487  __1481:
 44488  	if !(fc&0x08 == Tuint32_t(0)) {
 44489  		goto __1483
 44490  	}
 44491  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 44492  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 44493  	goto __1484
 44494  __1483:
 44495  	if !(fc&0x04 == Tuint32_t(0)) {
 44496  		goto __1485
 44497  	}
 44498  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 44499  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 44500  	goto __1486
 44501  __1485:
 44502  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 44503  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 44504  __1486:
 44505  	;
 44506  __1484:
 44507  	;
 44508  __1482:
 44509  	;
 44510  __1480:
 44511  	;
 44512  __1478:
 44513  	;
 44514  
 44515  	switch fc {
 44516  	case Tuint32_t('\011'):
 44517  		goto __1488
 44518  	case Tuint32_t('\040'):
 44519  		goto __1489
 44520  	case Tuint32_t(uint8('\xa0')):
 44521  		goto __1490
 44522  	case Tuint32_t(0x1680):
 44523  		goto __1491 /* OGHAM SPACE MARK */
 44524  	case Tuint32_t(0x180e):
 44525  		goto __1492 /* MONGOLIAN VOWEL SEPARATOR */
 44526  	case Tuint32_t(0x2000):
 44527  		goto __1493 /* EN QUAD */
 44528  	case Tuint32_t(0x2001):
 44529  		goto __1494 /* EM QUAD */
 44530  	case Tuint32_t(0x2002):
 44531  		goto __1495 /* EN SPACE */
 44532  	case Tuint32_t(0x2003):
 44533  		goto __1496 /* EM SPACE */
 44534  	case Tuint32_t(0x2004):
 44535  		goto __1497 /* THREE-PER-EM SPACE */
 44536  	case Tuint32_t(0x2005):
 44537  		goto __1498 /* FOUR-PER-EM SPACE */
 44538  	case Tuint32_t(0x2006):
 44539  		goto __1499 /* SIX-PER-EM SPACE */
 44540  	case Tuint32_t(0x2007):
 44541  		goto __1500 /* FIGURE SPACE */
 44542  	case Tuint32_t(0x2008):
 44543  		goto __1501 /* PUNCTUATION SPACE */
 44544  	case Tuint32_t(0x2009):
 44545  		goto __1502 /* THIN SPACE */
 44546  	case Tuint32_t(0x200A):
 44547  		goto __1503 /* HAIR SPACE */
 44548  	case Tuint32_t(0x202f):
 44549  		goto __1504 /* NARROW NO-BREAK SPACE */
 44550  	case Tuint32_t(0x205f):
 44551  		goto __1505 /* MEDIUM MATHEMATICAL SPACE */
 44552  	case Tuint32_t(0x3000):
 44553  		goto __1506
 44554  	default:
 44555  		goto __1507
 44556  	}
 44557  	goto __1487
 44558  
 44559  __1488:
 44560  __1489:
 44561  __1490:
 44562  __1491: /* OGHAM SPACE MARK */
 44563  __1492: /* MONGOLIAN VOWEL SEPARATOR */
 44564  __1493: /* EN QUAD */
 44565  __1494: /* EM QUAD */
 44566  __1495: /* EN SPACE */
 44567  __1496: /* EM SPACE */
 44568  __1497: /* THREE-PER-EM SPACE */
 44569  __1498: /* FOUR-PER-EM SPACE */
 44570  __1499: /* SIX-PER-EM SPACE */
 44571  __1500: /* FIGURE SPACE */
 44572  __1501: /* PUNCTUATION SPACE */
 44573  __1502: /* THIN SPACE */
 44574  __1503: /* HAIR SPACE */
 44575  __1504: /* NARROW NO-BREAK SPACE */
 44576  __1505: /* MEDIUM MATHEMATICAL SPACE */
 44577  __1506:
 44578  	rrc = DMATCH_NOMATCH
 44579  	goto RETURN_SWITCH
 44580  
 44581  __1507:
 44582  	goto __1487
 44583  __1487:
 44584  	;
 44585  	goto __1473
 44586  __1473:
 44587  	i++
 44588  	goto __1472
 44589  	goto __1474
 44590  __1474:
 44591  	;
 44592  	goto __1410
 44593  
 44594  __1416:
 44595  	i = Tuint32_t(1)
 44596  __1508:
 44597  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44598  		goto __1510
 44599  	}
 44600  
 44601  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44602  		goto __1511
 44603  	}
 44604  
 44605  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44606  		goto __1512
 44607  	}
 44608  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44609  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44610  		goto __1513
 44611  	}
 44612  	return -2
 44613  __1513:
 44614  	;
 44615  __1512:
 44616  	;
 44617  
 44618  	rrc = DMATCH_NOMATCH
 44619  	goto RETURN_SWITCH
 44620  
 44621  __1511:
 44622  	;
 44623  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44624  	if !(fc >= 0xc0) {
 44625  		goto __1514
 44626  	}
 44627  	if !(fc&0x20 == Tuint32_t(0)) {
 44628  		goto __1515
 44629  	}
 44630  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44631  	goto __1516
 44632  __1515:
 44633  	if !(fc&0x10 == Tuint32_t(0)) {
 44634  		goto __1517
 44635  	}
 44636  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 44637  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 44638  	goto __1518
 44639  __1517:
 44640  	if !(fc&0x08 == Tuint32_t(0)) {
 44641  		goto __1519
 44642  	}
 44643  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 44644  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 44645  	goto __1520
 44646  __1519:
 44647  	if !(fc&0x04 == Tuint32_t(0)) {
 44648  		goto __1521
 44649  	}
 44650  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 44651  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 44652  	goto __1522
 44653  __1521:
 44654  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 44655  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 44656  __1522:
 44657  	;
 44658  __1520:
 44659  	;
 44660  __1518:
 44661  	;
 44662  __1516:
 44663  	;
 44664  __1514:
 44665  	;
 44666  
 44667  	switch fc {
 44668  	case Tuint32_t('\011'):
 44669  		goto __1524
 44670  	case Tuint32_t('\040'):
 44671  		goto __1525
 44672  	case Tuint32_t(uint8('\xa0')):
 44673  		goto __1526
 44674  	case Tuint32_t(0x1680):
 44675  		goto __1527 /* OGHAM SPACE MARK */
 44676  	case Tuint32_t(0x180e):
 44677  		goto __1528 /* MONGOLIAN VOWEL SEPARATOR */
 44678  	case Tuint32_t(0x2000):
 44679  		goto __1529 /* EN QUAD */
 44680  	case Tuint32_t(0x2001):
 44681  		goto __1530 /* EM QUAD */
 44682  	case Tuint32_t(0x2002):
 44683  		goto __1531 /* EN SPACE */
 44684  	case Tuint32_t(0x2003):
 44685  		goto __1532 /* EM SPACE */
 44686  	case Tuint32_t(0x2004):
 44687  		goto __1533 /* THREE-PER-EM SPACE */
 44688  	case Tuint32_t(0x2005):
 44689  		goto __1534 /* FOUR-PER-EM SPACE */
 44690  	case Tuint32_t(0x2006):
 44691  		goto __1535 /* SIX-PER-EM SPACE */
 44692  	case Tuint32_t(0x2007):
 44693  		goto __1536 /* FIGURE SPACE */
 44694  	case Tuint32_t(0x2008):
 44695  		goto __1537 /* PUNCTUATION SPACE */
 44696  	case Tuint32_t(0x2009):
 44697  		goto __1538 /* THIN SPACE */
 44698  	case Tuint32_t(0x200A):
 44699  		goto __1539 /* HAIR SPACE */
 44700  	case Tuint32_t(0x202f):
 44701  		goto __1540 /* NARROW NO-BREAK SPACE */
 44702  	case Tuint32_t(0x205f):
 44703  		goto __1541 /* MEDIUM MATHEMATICAL SPACE */
 44704  	case Tuint32_t(0x3000):
 44705  		goto __1542
 44706  	default:
 44707  		goto __1543
 44708  	}
 44709  	goto __1523
 44710  
 44711  __1524:
 44712  __1525:
 44713  __1526:
 44714  __1527: /* OGHAM SPACE MARK */
 44715  __1528: /* MONGOLIAN VOWEL SEPARATOR */
 44716  __1529: /* EN QUAD */
 44717  __1530: /* EM QUAD */
 44718  __1531: /* EN SPACE */
 44719  __1532: /* EM SPACE */
 44720  __1533: /* THREE-PER-EM SPACE */
 44721  __1534: /* FOUR-PER-EM SPACE */
 44722  __1535: /* SIX-PER-EM SPACE */
 44723  __1536: /* FIGURE SPACE */
 44724  __1537: /* PUNCTUATION SPACE */
 44725  __1538: /* THIN SPACE */
 44726  __1539: /* HAIR SPACE */
 44727  __1540: /* NARROW NO-BREAK SPACE */
 44728  __1541: /* MEDIUM MATHEMATICAL SPACE */
 44729  __1542:
 44730  	goto __1523
 44731  __1543:
 44732  	rrc = DMATCH_NOMATCH
 44733  	goto RETURN_SWITCH
 44734  
 44735  __1523:
 44736  	;
 44737  	goto __1509
 44738  __1509:
 44739  	i++
 44740  	goto __1508
 44741  	goto __1510
 44742  __1510:
 44743  	;
 44744  	goto __1410
 44745  
 44746  __1417:
 44747  	i = Tuint32_t(1)
 44748  __1544:
 44749  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44750  		goto __1546
 44751  	}
 44752  
 44753  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44754  		goto __1547
 44755  	}
 44756  
 44757  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44758  		goto __1548
 44759  	}
 44760  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44761  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44762  		goto __1549
 44763  	}
 44764  	return -2
 44765  __1549:
 44766  	;
 44767  __1548:
 44768  	;
 44769  
 44770  	rrc = DMATCH_NOMATCH
 44771  	goto RETURN_SWITCH
 44772  
 44773  __1547:
 44774  	;
 44775  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44776  	if !(fc >= 0xc0) {
 44777  		goto __1550
 44778  	}
 44779  	if !(fc&0x20 == Tuint32_t(0)) {
 44780  		goto __1551
 44781  	}
 44782  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44783  	goto __1552
 44784  __1551:
 44785  	if !(fc&0x10 == Tuint32_t(0)) {
 44786  		goto __1553
 44787  	}
 44788  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 44789  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 44790  	goto __1554
 44791  __1553:
 44792  	if !(fc&0x08 == Tuint32_t(0)) {
 44793  		goto __1555
 44794  	}
 44795  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 44796  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 44797  	goto __1556
 44798  __1555:
 44799  	if !(fc&0x04 == Tuint32_t(0)) {
 44800  		goto __1557
 44801  	}
 44802  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 44803  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 44804  	goto __1558
 44805  __1557:
 44806  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 44807  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 44808  __1558:
 44809  	;
 44810  __1556:
 44811  	;
 44812  __1554:
 44813  	;
 44814  __1552:
 44815  	;
 44816  __1550:
 44817  	;
 44818  
 44819  	switch fc {
 44820  	case Tuint32_t('\012'):
 44821  		goto __1560
 44822  	case Tuint32_t('\013'):
 44823  		goto __1561
 44824  	case Tuint32_t('\014'):
 44825  		goto __1562
 44826  	case Tuint32_t('\015'):
 44827  		goto __1563
 44828  	case Tuint32_t(uint8('\x85')):
 44829  		goto __1564
 44830  	case Tuint32_t(0x2028):
 44831  		goto __1565 /* LINE SEPARATOR */
 44832  	case Tuint32_t(0x2029):
 44833  		goto __1566
 44834  	default:
 44835  		goto __1567
 44836  	}
 44837  	goto __1559
 44838  
 44839  __1560:
 44840  __1561:
 44841  __1562:
 44842  __1563:
 44843  __1564:
 44844  __1565: /* LINE SEPARATOR */
 44845  __1566:
 44846  	rrc = DMATCH_NOMATCH
 44847  	goto RETURN_SWITCH
 44848  
 44849  __1567:
 44850  	goto __1559
 44851  __1559:
 44852  	;
 44853  	goto __1545
 44854  __1545:
 44855  	i++
 44856  	goto __1544
 44857  	goto __1546
 44858  __1546:
 44859  	;
 44860  	goto __1410
 44861  
 44862  __1418:
 44863  	i = Tuint32_t(1)
 44864  __1568:
 44865  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44866  		goto __1570
 44867  	}
 44868  
 44869  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44870  		goto __1571
 44871  	}
 44872  
 44873  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44874  		goto __1572
 44875  	}
 44876  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44877  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44878  		goto __1573
 44879  	}
 44880  	return -2
 44881  __1573:
 44882  	;
 44883  __1572:
 44884  	;
 44885  
 44886  	rrc = DMATCH_NOMATCH
 44887  	goto RETURN_SWITCH
 44888  
 44889  __1571:
 44890  	;
 44891  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 44892  	if !(fc >= 0xc0) {
 44893  		goto __1574
 44894  	}
 44895  	if !(fc&0x20 == Tuint32_t(0)) {
 44896  		goto __1575
 44897  	}
 44898  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 44899  	goto __1576
 44900  __1575:
 44901  	if !(fc&0x10 == Tuint32_t(0)) {
 44902  		goto __1577
 44903  	}
 44904  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 44905  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 44906  	goto __1578
 44907  __1577:
 44908  	if !(fc&0x08 == Tuint32_t(0)) {
 44909  		goto __1579
 44910  	}
 44911  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 44912  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 44913  	goto __1580
 44914  __1579:
 44915  	if !(fc&0x04 == Tuint32_t(0)) {
 44916  		goto __1581
 44917  	}
 44918  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 44919  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 44920  	goto __1582
 44921  __1581:
 44922  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 44923  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 44924  __1582:
 44925  	;
 44926  __1580:
 44927  	;
 44928  __1578:
 44929  	;
 44930  __1576:
 44931  	;
 44932  __1574:
 44933  	;
 44934  
 44935  	switch fc {
 44936  	case Tuint32_t('\012'):
 44937  		goto __1584
 44938  	case Tuint32_t('\013'):
 44939  		goto __1585
 44940  	case Tuint32_t('\014'):
 44941  		goto __1586
 44942  	case Tuint32_t('\015'):
 44943  		goto __1587
 44944  	case Tuint32_t(uint8('\x85')):
 44945  		goto __1588
 44946  	case Tuint32_t(0x2028):
 44947  		goto __1589 /* LINE SEPARATOR */
 44948  	case Tuint32_t(0x2029):
 44949  		goto __1590
 44950  	default:
 44951  		goto __1591
 44952  	}
 44953  	goto __1583
 44954  
 44955  __1584:
 44956  __1585:
 44957  __1586:
 44958  __1587:
 44959  __1588:
 44960  __1589: /* LINE SEPARATOR */
 44961  __1590:
 44962  	goto __1583
 44963  __1591:
 44964  	rrc = DMATCH_NOMATCH
 44965  	goto RETURN_SWITCH
 44966  
 44967  __1583:
 44968  	;
 44969  	goto __1569
 44970  __1569:
 44971  	i++
 44972  	goto __1568
 44973  	goto __1570
 44974  __1570:
 44975  	;
 44976  	goto __1410
 44977  
 44978  __1419:
 44979  	i = Tuint32_t(1)
 44980  __1592:
 44981  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 44982  		goto __1594
 44983  	}
 44984  
 44985  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 44986  		goto __1595
 44987  	}
 44988  
 44989  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 44990  		goto __1596
 44991  	}
 44992  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 44993  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 44994  		goto __1597
 44995  	}
 44996  	return -2
 44997  __1597:
 44998  	;
 44999  __1596:
 45000  	;
 45001  
 45002  	rrc = DMATCH_NOMATCH
 45003  	goto RETURN_SWITCH
 45004  
 45005  __1595:
 45006  	;
 45007  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 45008  	if !(fc >= 0xc0) {
 45009  		goto __1598
 45010  	}
 45011  	if !(fc&0x20 == Tuint32_t(0)) {
 45012  		goto __1599
 45013  	}
 45014  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 45015  	goto __1600
 45016  __1599:
 45017  	if !(fc&0x10 == Tuint32_t(0)) {
 45018  		goto __1601
 45019  	}
 45020  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 45021  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 45022  	goto __1602
 45023  __1601:
 45024  	if !(fc&0x08 == Tuint32_t(0)) {
 45025  		goto __1603
 45026  	}
 45027  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 45028  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 45029  	goto __1604
 45030  __1603:
 45031  	if !(fc&0x04 == Tuint32_t(0)) {
 45032  		goto __1605
 45033  	}
 45034  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 45035  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 45036  	goto __1606
 45037  __1605:
 45038  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 45039  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 45040  __1606:
 45041  	;
 45042  __1604:
 45043  	;
 45044  __1602:
 45045  	;
 45046  __1600:
 45047  	;
 45048  __1598:
 45049  	;
 45050  
 45051  	if !(fc < Tuint32_t(128) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 45052  		goto __1607
 45053  	}
 45054  	rrc = DMATCH_NOMATCH
 45055  	goto RETURN_SWITCH
 45056  __1607:
 45057  	;
 45058  
 45059  	goto __1593
 45060  __1593:
 45061  	i++
 45062  	goto __1592
 45063  	goto __1594
 45064  __1594:
 45065  	;
 45066  	goto __1410
 45067  
 45068  __1420:
 45069  	i = Tuint32_t(1)
 45070  __1608:
 45071  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45072  		goto __1610
 45073  	}
 45074  
 45075  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45076  		goto __1611
 45077  	}
 45078  
 45079  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45080  		goto __1612
 45081  	}
 45082  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45083  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45084  		goto __1613
 45085  	}
 45086  	return -2
 45087  __1613:
 45088  	;
 45089  __1612:
 45090  	;
 45091  
 45092  	rrc = DMATCH_NOMATCH
 45093  	goto RETURN_SWITCH
 45094  
 45095  __1611:
 45096  	;
 45097  	cc5 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45098  	if !(cc5 >= Tuint32_t(128) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc5))))&Dctype_digit == 0) {
 45099  		goto __1614
 45100  	}
 45101  	rrc = DMATCH_NOMATCH
 45102  	goto RETURN_SWITCH
 45103  __1614:
 45104  	;
 45105  
 45106  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45107  	// No need to skip more code units - we know it has only one.
 45108  	goto __1609
 45109  __1609:
 45110  	i++
 45111  	goto __1608
 45112  	goto __1610
 45113  __1610:
 45114  	;
 45115  	goto __1410
 45116  
 45117  __1421:
 45118  	i = Tuint32_t(1)
 45119  __1615:
 45120  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45121  		goto __1617
 45122  	}
 45123  
 45124  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45125  		goto __1618
 45126  	}
 45127  
 45128  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45129  		goto __1619
 45130  	}
 45131  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45132  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45133  		goto __1620
 45134  	}
 45135  	return -2
 45136  __1620:
 45137  	;
 45138  __1619:
 45139  	;
 45140  
 45141  	rrc = DMATCH_NOMATCH
 45142  	goto RETURN_SWITCH
 45143  
 45144  __1618:
 45145  	;
 45146  	cc6 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45147  	if !(cc6 < Tuint32_t(128) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc6))))&Dctype_space != 0) {
 45148  		goto __1621
 45149  	}
 45150  	rrc = DMATCH_NOMATCH
 45151  	goto RETURN_SWITCH
 45152  __1621:
 45153  	;
 45154  
 45155  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45156  __1622:
 45157  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 45158  		goto __1623
 45159  	}
 45160  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45161  	goto __1622
 45162  __1623:
 45163  	;
 45164  	goto __1616
 45165  __1616:
 45166  	i++
 45167  	goto __1615
 45168  	goto __1617
 45169  __1617:
 45170  	;
 45171  	goto __1410
 45172  
 45173  __1422:
 45174  	i = Tuint32_t(1)
 45175  __1624:
 45176  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45177  		goto __1626
 45178  	}
 45179  
 45180  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45181  		goto __1627
 45182  	}
 45183  
 45184  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45185  		goto __1628
 45186  	}
 45187  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45188  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45189  		goto __1629
 45190  	}
 45191  	return -2
 45192  __1629:
 45193  	;
 45194  __1628:
 45195  	;
 45196  
 45197  	rrc = DMATCH_NOMATCH
 45198  	goto RETURN_SWITCH
 45199  
 45200  __1627:
 45201  	;
 45202  	cc7 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45203  	if !(cc7 >= Tuint32_t(128) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc7))))&Dctype_space == 0) {
 45204  		goto __1630
 45205  	}
 45206  	rrc = DMATCH_NOMATCH
 45207  	goto RETURN_SWITCH
 45208  __1630:
 45209  	;
 45210  
 45211  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45212  	// No need to skip more code units - we know it has only one.
 45213  	goto __1625
 45214  __1625:
 45215  	i++
 45216  	goto __1624
 45217  	goto __1626
 45218  __1626:
 45219  	;
 45220  	goto __1410
 45221  
 45222  __1423:
 45223  	i = Tuint32_t(1)
 45224  __1631:
 45225  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45226  		goto __1633
 45227  	}
 45228  
 45229  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45230  		goto __1634
 45231  	}
 45232  
 45233  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45234  		goto __1635
 45235  	}
 45236  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45237  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45238  		goto __1636
 45239  	}
 45240  	return -2
 45241  __1636:
 45242  	;
 45243  __1635:
 45244  	;
 45245  
 45246  	rrc = DMATCH_NOMATCH
 45247  	goto RETURN_SWITCH
 45248  
 45249  __1634:
 45250  	;
 45251  	cc8 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45252  	if !(cc8 < Tuint32_t(128) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc8))))&Dctype_word != 0) {
 45253  		goto __1637
 45254  	}
 45255  	rrc = DMATCH_NOMATCH
 45256  	goto RETURN_SWITCH
 45257  __1637:
 45258  	;
 45259  
 45260  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45261  __1638:
 45262  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 45263  		goto __1639
 45264  	}
 45265  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45266  	goto __1638
 45267  __1639:
 45268  	;
 45269  	goto __1632
 45270  __1632:
 45271  	i++
 45272  	goto __1631
 45273  	goto __1633
 45274  __1633:
 45275  	;
 45276  	goto __1410
 45277  
 45278  __1424:
 45279  	i = Tuint32_t(1)
 45280  __1640:
 45281  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45282  		goto __1642
 45283  	}
 45284  
 45285  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45286  		goto __1643
 45287  	}
 45288  
 45289  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45290  		goto __1644
 45291  	}
 45292  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45293  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45294  		goto __1645
 45295  	}
 45296  	return -2
 45297  __1645:
 45298  	;
 45299  __1644:
 45300  	;
 45301  
 45302  	rrc = DMATCH_NOMATCH
 45303  	goto RETURN_SWITCH
 45304  
 45305  __1643:
 45306  	;
 45307  	cc9 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 45308  	if !(cc9 >= Tuint32_t(128) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(cc9))))&Dctype_word == 0) {
 45309  		goto __1646
 45310  	}
 45311  	rrc = DMATCH_NOMATCH
 45312  	goto RETURN_SWITCH
 45313  __1646:
 45314  	;
 45315  
 45316  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45317  	// No need to skip more code units - we know it has only one.
 45318  	goto __1641
 45319  __1641:
 45320  	i++
 45321  	goto __1640
 45322  	goto __1642
 45323  __1642:
 45324  	;
 45325  	goto __1410
 45326  
 45327  __1425:
 45328  	return -44
 45329  __1410:
 45330  	;
 45331  	goto __1409
 45332  __1408:
 45333  
 45334  	// Code for the non-UTF case for minimum matching of operators other
 45335  	//       than OP_PROP and OP_NOTPROP.
 45336  
 45337  	switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) {
 45338  	case OP_ANY:
 45339  		goto __1648
 45340  
 45341  	case OP_ALLANY:
 45342  		goto __1649
 45343  
 45344  	// This OP_ANYBYTE case will never be reached because \C gets turned
 45345  	//         into OP_ALLANY in non-UTF mode. Cut out the code so that coverage
 45346  	//         reports don't complain about it's never being used.
 45347  
 45348  	// case OP_ANYBYTE:
 45349  	//        if (Feptr > mb->end_subject - Lmin)
 45350  	//          {
 45351  	//          SCHECK_PARTIAL();
 45352  	//          RRETURN(MATCH_NOMATCH);
 45353  	//          }
 45354  	//        Feptr += Lmin;
 45355  	//        break;
 45356  	case OP_ANYNL:
 45357  		goto __1650
 45358  
 45359  	case OP_NOT_HSPACE:
 45360  		goto __1651
 45361  
 45362  	case OP_HSPACE:
 45363  		goto __1652
 45364  
 45365  	case OP_NOT_VSPACE:
 45366  		goto __1653
 45367  
 45368  	case OP_VSPACE:
 45369  		goto __1654
 45370  
 45371  	case OP_NOT_DIGIT:
 45372  		goto __1655
 45373  
 45374  	case OP_DIGIT:
 45375  		goto __1656
 45376  
 45377  	case OP_NOT_WHITESPACE:
 45378  		goto __1657
 45379  
 45380  	case OP_WHITESPACE:
 45381  		goto __1658
 45382  
 45383  	case OP_NOT_WORDCHAR:
 45384  		goto __1659
 45385  
 45386  	case OP_WORDCHAR:
 45387  		goto __1660
 45388  
 45389  	default:
 45390  		goto __1661
 45391  	}
 45392  	goto __1647
 45393  
 45394  __1648:
 45395  	i = Tuint32_t(1)
 45396  __1662:
 45397  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45398  		goto __1664
 45399  	}
 45400  
 45401  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45402  		goto __1665
 45403  	}
 45404  
 45405  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45406  		goto __1666
 45407  	}
 45408  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45409  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45410  		goto __1667
 45411  	}
 45412  	return -2
 45413  __1667:
 45414  	;
 45415  __1666:
 45416  	;
 45417  
 45418  	rrc = DMATCH_NOMATCH
 45419  	goto RETURN_SWITCH
 45420  
 45421  __1665:
 45422  	;
 45423  	if !(func() int32 {
 45424  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 45425  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 45426  		}
 45427  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 45428  	}() != 0) {
 45429  		goto __1668
 45430  	}
 45431  	rrc = DMATCH_NOMATCH
 45432  	goto RETURN_SWITCH
 45433  __1668:
 45434  	;
 45435  
 45436  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 45437  		goto __1669
 45438  	}
 45439  
 45440  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45441  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45442  		goto __1670
 45443  	}
 45444  	return -2
 45445  __1670:
 45446  	;
 45447  __1669:
 45448  	;
 45449  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45450  	goto __1663
 45451  __1663:
 45452  	i++
 45453  	goto __1662
 45454  	goto __1664
 45455  __1664:
 45456  	;
 45457  	goto __1647
 45458  
 45459  __1649:
 45460  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56)))) {
 45461  		goto __1671
 45462  	}
 45463  
 45464  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45465  		goto __1672
 45466  	}
 45467  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45468  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45469  		goto __1673
 45470  	}
 45471  	return -2
 45472  __1673:
 45473  	;
 45474  __1672:
 45475  	;
 45476  
 45477  	rrc = DMATCH_NOMATCH
 45478  	goto RETURN_SWITCH
 45479  
 45480  __1671:
 45481  	;
 45482  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tuint32_t)(unsafe.Pointer(F + 56)))
 45483  	goto __1647
 45484  
 45485  	// This OP_ANYBYTE case will never be reached because \C gets turned
 45486  	//         into OP_ALLANY in non-UTF mode. Cut out the code so that coverage
 45487  	//         reports don't complain about it's never being used.
 45488  
 45489  	// case OP_ANYBYTE:
 45490  	//        if (Feptr > mb->end_subject - Lmin)
 45491  	//          {
 45492  	//          SCHECK_PARTIAL();
 45493  	//          RRETURN(MATCH_NOMATCH);
 45494  	//          }
 45495  	//        Feptr += Lmin;
 45496  	//        break;
 45497  __1650:
 45498  	i = Tuint32_t(1)
 45499  __1674:
 45500  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45501  		goto __1676
 45502  	}
 45503  
 45504  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45505  		goto __1677
 45506  	}
 45507  
 45508  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45509  		goto __1678
 45510  	}
 45511  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45512  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45513  		goto __1679
 45514  	}
 45515  	return -2
 45516  __1679:
 45517  	;
 45518  __1678:
 45519  	;
 45520  
 45521  	rrc = DMATCH_NOMATCH
 45522  	goto RETURN_SWITCH
 45523  
 45524  __1677:
 45525  	;
 45526  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45527  	default:
 45528  		goto __1681
 45529  
 45530  	case '\015':
 45531  		goto __1682
 45532  
 45533  	case '\012':
 45534  		goto __1683
 45535  
 45536  	case '\013':
 45537  		goto __1684
 45538  	case '\014':
 45539  		goto __1685
 45540  	case int32(uint8('\x85')):
 45541  		goto __1686
 45542  	}
 45543  	goto __1680
 45544  
 45545  __1681:
 45546  	rrc = DMATCH_NOMATCH
 45547  	goto RETURN_SWITCH
 45548  
 45549  __1682:
 45550  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 45551  		goto __1687
 45552  	}
 45553  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45554  __1687:
 45555  	;
 45556  	goto __1680
 45557  
 45558  __1683:
 45559  	goto __1680
 45560  
 45561  __1684:
 45562  __1685:
 45563  __1686:
 45564  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 45565  		goto __1688
 45566  	}
 45567  	rrc = DMATCH_NOMATCH
 45568  	goto RETURN_SWITCH
 45569  __1688:
 45570  	;
 45571  
 45572  	goto __1680
 45573  __1680:
 45574  	;
 45575  	goto __1675
 45576  __1675:
 45577  	i++
 45578  	goto __1674
 45579  	goto __1676
 45580  __1676:
 45581  	;
 45582  	goto __1647
 45583  
 45584  __1651:
 45585  	i = Tuint32_t(1)
 45586  __1689:
 45587  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45588  		goto __1691
 45589  	}
 45590  
 45591  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45592  		goto __1692
 45593  	}
 45594  
 45595  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45596  		goto __1693
 45597  	}
 45598  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45599  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45600  		goto __1694
 45601  	}
 45602  	return -2
 45603  __1694:
 45604  	;
 45605  __1693:
 45606  	;
 45607  
 45608  	rrc = DMATCH_NOMATCH
 45609  	goto RETURN_SWITCH
 45610  
 45611  __1692:
 45612  	;
 45613  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45614  	default:
 45615  		goto __1696
 45616  	case '\011':
 45617  		goto __1697
 45618  	case '\040':
 45619  		goto __1698
 45620  	case int32(uint8('\xa0')):
 45621  		goto __1699
 45622  	}
 45623  	goto __1695
 45624  
 45625  __1696:
 45626  	goto __1695
 45627  __1697:
 45628  __1698:
 45629  __1699:
 45630  	rrc = DMATCH_NOMATCH
 45631  	goto RETURN_SWITCH
 45632  
 45633  __1695:
 45634  	;
 45635  	goto __1690
 45636  __1690:
 45637  	i++
 45638  	goto __1689
 45639  	goto __1691
 45640  __1691:
 45641  	;
 45642  	goto __1647
 45643  
 45644  __1652:
 45645  	i = Tuint32_t(1)
 45646  __1700:
 45647  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45648  		goto __1702
 45649  	}
 45650  
 45651  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45652  		goto __1703
 45653  	}
 45654  
 45655  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45656  		goto __1704
 45657  	}
 45658  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45659  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45660  		goto __1705
 45661  	}
 45662  	return -2
 45663  __1705:
 45664  	;
 45665  __1704:
 45666  	;
 45667  
 45668  	rrc = DMATCH_NOMATCH
 45669  	goto RETURN_SWITCH
 45670  
 45671  __1703:
 45672  	;
 45673  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45674  	default:
 45675  		goto __1707
 45676  	case '\011':
 45677  		goto __1708
 45678  	case '\040':
 45679  		goto __1709
 45680  	case int32(uint8('\xa0')):
 45681  		goto __1710
 45682  	}
 45683  	goto __1706
 45684  
 45685  __1707:
 45686  	rrc = DMATCH_NOMATCH
 45687  	goto RETURN_SWITCH
 45688  
 45689  __1708:
 45690  __1709:
 45691  __1710:
 45692  	goto __1706
 45693  __1706:
 45694  	;
 45695  	goto __1701
 45696  __1701:
 45697  	i++
 45698  	goto __1700
 45699  	goto __1702
 45700  __1702:
 45701  	;
 45702  	goto __1647
 45703  
 45704  __1653:
 45705  	i = Tuint32_t(1)
 45706  __1711:
 45707  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45708  		goto __1713
 45709  	}
 45710  
 45711  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45712  		goto __1714
 45713  	}
 45714  
 45715  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45716  		goto __1715
 45717  	}
 45718  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45719  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45720  		goto __1716
 45721  	}
 45722  	return -2
 45723  __1716:
 45724  	;
 45725  __1715:
 45726  	;
 45727  
 45728  	rrc = DMATCH_NOMATCH
 45729  	goto RETURN_SWITCH
 45730  
 45731  __1714:
 45732  	;
 45733  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45734  	case '\012':
 45735  		goto __1718
 45736  	case '\013':
 45737  		goto __1719
 45738  	case '\014':
 45739  		goto __1720
 45740  	case '\015':
 45741  		goto __1721
 45742  	case int32(uint8('\x85')):
 45743  		goto __1722
 45744  	default:
 45745  		goto __1723
 45746  	}
 45747  	goto __1717
 45748  
 45749  __1718:
 45750  __1719:
 45751  __1720:
 45752  __1721:
 45753  __1722:
 45754  	rrc = DMATCH_NOMATCH
 45755  	goto RETURN_SWITCH
 45756  
 45757  __1723:
 45758  	goto __1717
 45759  __1717:
 45760  	;
 45761  	goto __1712
 45762  __1712:
 45763  	i++
 45764  	goto __1711
 45765  	goto __1713
 45766  __1713:
 45767  	;
 45768  	goto __1647
 45769  
 45770  __1654:
 45771  	i = Tuint32_t(1)
 45772  __1724:
 45773  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45774  		goto __1726
 45775  	}
 45776  
 45777  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45778  		goto __1727
 45779  	}
 45780  
 45781  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45782  		goto __1728
 45783  	}
 45784  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45785  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45786  		goto __1729
 45787  	}
 45788  	return -2
 45789  __1729:
 45790  	;
 45791  __1728:
 45792  	;
 45793  
 45794  	rrc = DMATCH_NOMATCH
 45795  	goto RETURN_SWITCH
 45796  
 45797  __1727:
 45798  	;
 45799  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1)))) {
 45800  	default:
 45801  		goto __1731
 45802  	case '\012':
 45803  		goto __1732
 45804  	case '\013':
 45805  		goto __1733
 45806  	case '\014':
 45807  		goto __1734
 45808  	case '\015':
 45809  		goto __1735
 45810  	case int32(uint8('\x85')):
 45811  		goto __1736
 45812  	}
 45813  	goto __1730
 45814  
 45815  __1731:
 45816  	rrc = DMATCH_NOMATCH
 45817  	goto RETURN_SWITCH
 45818  
 45819  __1732:
 45820  __1733:
 45821  __1734:
 45822  __1735:
 45823  __1736:
 45824  	goto __1730
 45825  __1730:
 45826  	;
 45827  	goto __1725
 45828  __1725:
 45829  	i++
 45830  	goto __1724
 45831  	goto __1726
 45832  __1726:
 45833  	;
 45834  	goto __1647
 45835  
 45836  __1655:
 45837  	i = Tuint32_t(1)
 45838  __1737:
 45839  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45840  		goto __1739
 45841  	}
 45842  
 45843  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45844  		goto __1740
 45845  	}
 45846  
 45847  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45848  		goto __1741
 45849  	}
 45850  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45851  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45852  		goto __1742
 45853  	}
 45854  	return -2
 45855  __1742:
 45856  	;
 45857  __1741:
 45858  	;
 45859  
 45860  	rrc = DMATCH_NOMATCH
 45861  	goto RETURN_SWITCH
 45862  
 45863  __1740:
 45864  	;
 45865  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_digit != 0) {
 45866  		goto __1743
 45867  	}
 45868  	rrc = DMATCH_NOMATCH
 45869  	goto RETURN_SWITCH
 45870  __1743:
 45871  	;
 45872  
 45873  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45874  	goto __1738
 45875  __1738:
 45876  	i++
 45877  	goto __1737
 45878  	goto __1739
 45879  __1739:
 45880  	;
 45881  	goto __1647
 45882  
 45883  __1656:
 45884  	i = Tuint32_t(1)
 45885  __1744:
 45886  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45887  		goto __1746
 45888  	}
 45889  
 45890  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45891  		goto __1747
 45892  	}
 45893  
 45894  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45895  		goto __1748
 45896  	}
 45897  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45898  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45899  		goto __1749
 45900  	}
 45901  	return -2
 45902  __1749:
 45903  	;
 45904  __1748:
 45905  	;
 45906  
 45907  	rrc = DMATCH_NOMATCH
 45908  	goto RETURN_SWITCH
 45909  
 45910  __1747:
 45911  	;
 45912  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_digit == 0) {
 45913  		goto __1750
 45914  	}
 45915  	rrc = DMATCH_NOMATCH
 45916  	goto RETURN_SWITCH
 45917  __1750:
 45918  	;
 45919  
 45920  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45921  	goto __1745
 45922  __1745:
 45923  	i++
 45924  	goto __1744
 45925  	goto __1746
 45926  __1746:
 45927  	;
 45928  	goto __1647
 45929  
 45930  __1657:
 45931  	i = Tuint32_t(1)
 45932  __1751:
 45933  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45934  		goto __1753
 45935  	}
 45936  
 45937  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45938  		goto __1754
 45939  	}
 45940  
 45941  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45942  		goto __1755
 45943  	}
 45944  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45945  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45946  		goto __1756
 45947  	}
 45948  	return -2
 45949  __1756:
 45950  	;
 45951  __1755:
 45952  	;
 45953  
 45954  	rrc = DMATCH_NOMATCH
 45955  	goto RETURN_SWITCH
 45956  
 45957  __1754:
 45958  	;
 45959  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_space != 0) {
 45960  		goto __1757
 45961  	}
 45962  	rrc = DMATCH_NOMATCH
 45963  	goto RETURN_SWITCH
 45964  __1757:
 45965  	;
 45966  
 45967  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 45968  	goto __1752
 45969  __1752:
 45970  	i++
 45971  	goto __1751
 45972  	goto __1753
 45973  __1753:
 45974  	;
 45975  	goto __1647
 45976  
 45977  __1658:
 45978  	i = Tuint32_t(1)
 45979  __1758:
 45980  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 45981  		goto __1760
 45982  	}
 45983  
 45984  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 45985  		goto __1761
 45986  	}
 45987  
 45988  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 45989  		goto __1762
 45990  	}
 45991  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 45992  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 45993  		goto __1763
 45994  	}
 45995  	return -2
 45996  __1763:
 45997  	;
 45998  __1762:
 45999  	;
 46000  
 46001  	rrc = DMATCH_NOMATCH
 46002  	goto RETURN_SWITCH
 46003  
 46004  __1761:
 46005  	;
 46006  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_space == 0) {
 46007  		goto __1764
 46008  	}
 46009  	rrc = DMATCH_NOMATCH
 46010  	goto RETURN_SWITCH
 46011  __1764:
 46012  	;
 46013  
 46014  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 46015  	goto __1759
 46016  __1759:
 46017  	i++
 46018  	goto __1758
 46019  	goto __1760
 46020  __1760:
 46021  	;
 46022  	goto __1647
 46023  
 46024  __1659:
 46025  	i = Tuint32_t(1)
 46026  __1765:
 46027  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 46028  		goto __1767
 46029  	}
 46030  
 46031  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46032  		goto __1768
 46033  	}
 46034  
 46035  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46036  		goto __1769
 46037  	}
 46038  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46039  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46040  		goto __1770
 46041  	}
 46042  	return -2
 46043  __1770:
 46044  	;
 46045  __1769:
 46046  	;
 46047  
 46048  	rrc = DMATCH_NOMATCH
 46049  	goto RETURN_SWITCH
 46050  
 46051  __1768:
 46052  	;
 46053  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_word != 0) {
 46054  		goto __1771
 46055  	}
 46056  	rrc = DMATCH_NOMATCH
 46057  	goto RETURN_SWITCH
 46058  __1771:
 46059  	;
 46060  
 46061  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 46062  	goto __1766
 46063  __1766:
 46064  	i++
 46065  	goto __1765
 46066  	goto __1767
 46067  __1767:
 46068  	;
 46069  	goto __1647
 46070  
 46071  __1660:
 46072  	i = Tuint32_t(1)
 46073  __1772:
 46074  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 46075  		goto __1774
 46076  	}
 46077  
 46078  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46079  		goto __1775
 46080  	}
 46081  
 46082  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46083  		goto __1776
 46084  	}
 46085  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46086  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46087  		goto __1777
 46088  	}
 46089  	return -2
 46090  __1777:
 46091  	;
 46092  __1776:
 46093  	;
 46094  
 46095  	rrc = DMATCH_NOMATCH
 46096  	goto RETURN_SWITCH
 46097  
 46098  __1775:
 46099  	;
 46100  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_word == 0) {
 46101  		goto __1778
 46102  	}
 46103  	rrc = DMATCH_NOMATCH
 46104  	goto RETURN_SWITCH
 46105  __1778:
 46106  	;
 46107  
 46108  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 46109  	goto __1773
 46110  __1773:
 46111  	i++
 46112  	goto __1772
 46113  	goto __1774
 46114  __1774:
 46115  	;
 46116  	goto __1647
 46117  
 46118  __1661:
 46119  	return -44
 46120  __1647:
 46121  	;
 46122  __1409:
 46123  	;
 46124  __1388:
 46125  	;
 46126  __1127:
 46127  	;
 46128  __1125:
 46129  	;
 46130  
 46131  	// If Lmin = Lmax we are done. Continue with the main loop.
 46132  
 46133  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46134  		goto __1779
 46135  	}
 46136  	goto __11
 46137  __1779:
 46138  	;
 46139  
 46140  	// If minimizing, we have to test the rest of the pattern before each
 46141  	//     subsequent match. This means we cannot use a local "notmatch" variable as
 46142  	//     in the other cases. As all 4 temporary 32-bit values in the frame are
 46143  	//     already in use, just test the type each time.
 46144  
 46145  	if !(reptype == REPTYPE_MIN) {
 46146  		goto __1780
 46147  	}
 46148  
 46149  	if !(proptype >= 0) {
 46150  		goto __1782
 46151  	}
 46152  
 46153  	switch proptype {
 46154  	case DPT_ANY:
 46155  		goto __1785
 46156  	// Control never gets here
 46157  
 46158  	case DPT_LAMP:
 46159  		goto __1786
 46160  	// Control never gets here
 46161  
 46162  	case DPT_GC:
 46163  		goto __1787
 46164  	// Control never gets here
 46165  
 46166  	case DPT_PC:
 46167  		goto __1788
 46168  	// Control never gets here
 46169  
 46170  	case DPT_SC:
 46171  		goto __1789
 46172  	// Control never gets here
 46173  
 46174  	case DPT_SCX:
 46175  		goto __1790
 46176  	// Control never gets here
 46177  
 46178  	case DPT_ALNUM:
 46179  		goto __1791
 46180  	// Control never gets here
 46181  
 46182  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 46183  	//           which means that Perl space and POSIX space are now identical. PCRE
 46184  	//           was changed at release 8.34.
 46185  
 46186  	case DPT_SPACE:
 46187  		goto __1792 // Perl space
 46188  	case DPT_PXSPACE:
 46189  		goto __1793
 46190  	// Control never gets here
 46191  
 46192  	case DPT_WORD:
 46193  		goto __1794
 46194  	// Control never gets here
 46195  
 46196  	case DPT_CLIST:
 46197  		goto __1795
 46198  	// Control never gets here
 46199  
 46200  	case DPT_UCNC:
 46201  		goto __1796
 46202  	// Control never gets here
 46203  
 46204  	case DPT_BIDICL:
 46205  		goto __1797
 46206  	// Control never gets here
 46207  
 46208  	case DPT_BOOL:
 46209  		goto __1798
 46210  	// Control never gets here
 46211  
 46212  	// This should never occur
 46213  	default:
 46214  		goto __1799
 46215  	}
 46216  	goto __1784
 46217  
 46218  __1785:
 46219  __1800:
 46220  
 46221  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46222  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM208
 46223  	goto MATCH_RECURSE
 46224  L_RM208:
 46225  	;
 46226  
 46227  	if !(rrc != DMATCH_NOMATCH) {
 46228  		goto __1803
 46229  	}
 46230  	rrc = rrc
 46231  	goto RETURN_SWITCH
 46232  __1803:
 46233  	;
 46234  
 46235  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46236  		goto __1804
 46237  	}
 46238  	rrc = DMATCH_NOMATCH
 46239  	goto RETURN_SWITCH
 46240  __1804:
 46241  	;
 46242  
 46243  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46244  		goto __1805
 46245  	}
 46246  
 46247  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46248  		goto __1806
 46249  	}
 46250  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46251  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46252  		goto __1807
 46253  	}
 46254  	return -2
 46255  __1807:
 46256  	;
 46257  __1806:
 46258  	;
 46259  
 46260  	rrc = DMATCH_NOMATCH
 46261  	goto RETURN_SWITCH
 46262  
 46263  __1805:
 46264  	;
 46265  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46266  	if !(utf != 0 && fc >= 0xc0) {
 46267  		goto __1808
 46268  	}
 46269  	if !(fc&0x20 == Tuint32_t(0)) {
 46270  		goto __1809
 46271  	}
 46272  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46273  	goto __1810
 46274  __1809:
 46275  	if !(fc&0x10 == Tuint32_t(0)) {
 46276  		goto __1811
 46277  	}
 46278  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 46279  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 46280  	goto __1812
 46281  __1811:
 46282  	if !(fc&0x08 == Tuint32_t(0)) {
 46283  		goto __1813
 46284  	}
 46285  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 46286  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 46287  	goto __1814
 46288  __1813:
 46289  	if !(fc&0x04 == Tuint32_t(0)) {
 46290  		goto __1815
 46291  	}
 46292  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 46293  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 46294  	goto __1816
 46295  __1815:
 46296  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 46297  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 46298  __1816:
 46299  	;
 46300  __1814:
 46301  	;
 46302  __1812:
 46303  	;
 46304  __1810:
 46305  	;
 46306  __1808:
 46307  	;
 46308  
 46309  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) {
 46310  		goto __1817
 46311  	}
 46312  	rrc = DMATCH_NOMATCH
 46313  	goto RETURN_SWITCH
 46314  __1817:
 46315  	;
 46316  
 46317  	goto __1801
 46318  __1801:
 46319  	goto __1800
 46320  	goto __1802
 46321  __1802:
 46322  	;
 46323  	// Control never gets here
 46324  
 46325  __1786:
 46326  __1818:
 46327  
 46328  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46329  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM209
 46330  	goto MATCH_RECURSE
 46331  L_RM209:
 46332  	;
 46333  
 46334  	if !(rrc != DMATCH_NOMATCH) {
 46335  		goto __1821
 46336  	}
 46337  	rrc = rrc
 46338  	goto RETURN_SWITCH
 46339  __1821:
 46340  	;
 46341  
 46342  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46343  		goto __1822
 46344  	}
 46345  	rrc = DMATCH_NOMATCH
 46346  	goto RETURN_SWITCH
 46347  __1822:
 46348  	;
 46349  
 46350  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46351  		goto __1823
 46352  	}
 46353  
 46354  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46355  		goto __1824
 46356  	}
 46357  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46358  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46359  		goto __1825
 46360  	}
 46361  	return -2
 46362  __1825:
 46363  	;
 46364  __1824:
 46365  	;
 46366  
 46367  	rrc = DMATCH_NOMATCH
 46368  	goto RETURN_SWITCH
 46369  
 46370  __1823:
 46371  	;
 46372  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46373  	if !(utf != 0 && fc >= 0xc0) {
 46374  		goto __1826
 46375  	}
 46376  	if !(fc&0x20 == Tuint32_t(0)) {
 46377  		goto __1827
 46378  	}
 46379  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46380  	goto __1828
 46381  __1827:
 46382  	if !(fc&0x10 == Tuint32_t(0)) {
 46383  		goto __1829
 46384  	}
 46385  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 46386  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 46387  	goto __1830
 46388  __1829:
 46389  	if !(fc&0x08 == Tuint32_t(0)) {
 46390  		goto __1831
 46391  	}
 46392  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 46393  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 46394  	goto __1832
 46395  __1831:
 46396  	if !(fc&0x04 == Tuint32_t(0)) {
 46397  		goto __1833
 46398  	}
 46399  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 46400  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 46401  	goto __1834
 46402  __1833:
 46403  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 46404  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 46405  __1834:
 46406  	;
 46407  __1832:
 46408  	;
 46409  __1830:
 46410  	;
 46411  __1828:
 46412  	;
 46413  __1826:
 46414  	;
 46415  
 46416  	chartype1 = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype)
 46417  	if !(libc.Bool32(chartype1 == ucp_Lu || chartype1 == ucp_Ll || chartype1 == ucp_Lt) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 46418  		goto __1835
 46419  	}
 46420  	rrc = DMATCH_NOMATCH
 46421  	goto RETURN_SWITCH
 46422  __1835:
 46423  	;
 46424  
 46425  	goto __1819
 46426  __1819:
 46427  	goto __1818
 46428  	goto __1820
 46429  __1820:
 46430  	;
 46431  	// Control never gets here
 46432  
 46433  __1787:
 46434  __1836:
 46435  
 46436  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46437  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM210
 46438  	goto MATCH_RECURSE
 46439  L_RM210:
 46440  	;
 46441  
 46442  	if !(rrc != DMATCH_NOMATCH) {
 46443  		goto __1839
 46444  	}
 46445  	rrc = rrc
 46446  	goto RETURN_SWITCH
 46447  __1839:
 46448  	;
 46449  
 46450  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46451  		goto __1840
 46452  	}
 46453  	rrc = DMATCH_NOMATCH
 46454  	goto RETURN_SWITCH
 46455  __1840:
 46456  	;
 46457  
 46458  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46459  		goto __1841
 46460  	}
 46461  
 46462  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46463  		goto __1842
 46464  	}
 46465  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46466  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46467  		goto __1843
 46468  	}
 46469  	return -2
 46470  __1843:
 46471  	;
 46472  __1842:
 46473  	;
 46474  
 46475  	rrc = DMATCH_NOMATCH
 46476  	goto RETURN_SWITCH
 46477  
 46478  __1841:
 46479  	;
 46480  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46481  	if !(utf != 0 && fc >= 0xc0) {
 46482  		goto __1844
 46483  	}
 46484  	if !(fc&0x20 == Tuint32_t(0)) {
 46485  		goto __1845
 46486  	}
 46487  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46488  	goto __1846
 46489  __1845:
 46490  	if !(fc&0x10 == Tuint32_t(0)) {
 46491  		goto __1847
 46492  	}
 46493  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 46494  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 46495  	goto __1848
 46496  __1847:
 46497  	if !(fc&0x08 == Tuint32_t(0)) {
 46498  		goto __1849
 46499  	}
 46500  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 46501  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 46502  	goto __1850
 46503  __1849:
 46504  	if !(fc&0x04 == Tuint32_t(0)) {
 46505  		goto __1851
 46506  	}
 46507  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 46508  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 46509  	goto __1852
 46510  __1851:
 46511  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 46512  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 46513  __1852:
 46514  	;
 46515  __1850:
 46516  	;
 46517  __1848:
 46518  	;
 46519  __1846:
 46520  	;
 46521  __1844:
 46522  	;
 46523  
 46524  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 46525  		goto __1853
 46526  	}
 46527  	rrc = DMATCH_NOMATCH
 46528  	goto RETURN_SWITCH
 46529  __1853:
 46530  	;
 46531  
 46532  	goto __1837
 46533  __1837:
 46534  	goto __1836
 46535  	goto __1838
 46536  __1838:
 46537  	;
 46538  	// Control never gets here
 46539  
 46540  __1788:
 46541  __1854:
 46542  
 46543  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46544  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM211
 46545  	goto MATCH_RECURSE
 46546  L_RM211:
 46547  	;
 46548  
 46549  	if !(rrc != DMATCH_NOMATCH) {
 46550  		goto __1857
 46551  	}
 46552  	rrc = rrc
 46553  	goto RETURN_SWITCH
 46554  __1857:
 46555  	;
 46556  
 46557  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46558  		goto __1858
 46559  	}
 46560  	rrc = DMATCH_NOMATCH
 46561  	goto RETURN_SWITCH
 46562  __1858:
 46563  	;
 46564  
 46565  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46566  		goto __1859
 46567  	}
 46568  
 46569  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46570  		goto __1860
 46571  	}
 46572  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46573  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46574  		goto __1861
 46575  	}
 46576  	return -2
 46577  __1861:
 46578  	;
 46579  __1860:
 46580  	;
 46581  
 46582  	rrc = DMATCH_NOMATCH
 46583  	goto RETURN_SWITCH
 46584  
 46585  __1859:
 46586  	;
 46587  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46588  	if !(utf != 0 && fc >= 0xc0) {
 46589  		goto __1862
 46590  	}
 46591  	if !(fc&0x20 == Tuint32_t(0)) {
 46592  		goto __1863
 46593  	}
 46594  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46595  	goto __1864
 46596  __1863:
 46597  	if !(fc&0x10 == Tuint32_t(0)) {
 46598  		goto __1865
 46599  	}
 46600  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 46601  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 46602  	goto __1866
 46603  __1865:
 46604  	if !(fc&0x08 == Tuint32_t(0)) {
 46605  		goto __1867
 46606  	}
 46607  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 46608  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 46609  	goto __1868
 46610  __1867:
 46611  	if !(fc&0x04 == Tuint32_t(0)) {
 46612  		goto __1869
 46613  	}
 46614  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 46615  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 46616  	goto __1870
 46617  __1869:
 46618  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 46619  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 46620  __1870:
 46621  	;
 46622  __1868:
 46623  	;
 46624  __1866:
 46625  	;
 46626  __1864:
 46627  	;
 46628  __1862:
 46629  	;
 46630  
 46631  	if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 46632  		goto __1871
 46633  	}
 46634  	rrc = DMATCH_NOMATCH
 46635  	goto RETURN_SWITCH
 46636  __1871:
 46637  	;
 46638  
 46639  	goto __1855
 46640  __1855:
 46641  	goto __1854
 46642  	goto __1856
 46643  __1856:
 46644  	;
 46645  	// Control never gets here
 46646  
 46647  __1789:
 46648  __1872:
 46649  
 46650  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46651  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM212
 46652  	goto MATCH_RECURSE
 46653  L_RM212:
 46654  	;
 46655  
 46656  	if !(rrc != DMATCH_NOMATCH) {
 46657  		goto __1875
 46658  	}
 46659  	rrc = rrc
 46660  	goto RETURN_SWITCH
 46661  __1875:
 46662  	;
 46663  
 46664  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46665  		goto __1876
 46666  	}
 46667  	rrc = DMATCH_NOMATCH
 46668  	goto RETURN_SWITCH
 46669  __1876:
 46670  	;
 46671  
 46672  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46673  		goto __1877
 46674  	}
 46675  
 46676  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46677  		goto __1878
 46678  	}
 46679  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46680  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46681  		goto __1879
 46682  	}
 46683  	return -2
 46684  __1879:
 46685  	;
 46686  __1878:
 46687  	;
 46688  
 46689  	rrc = DMATCH_NOMATCH
 46690  	goto RETURN_SWITCH
 46691  
 46692  __1877:
 46693  	;
 46694  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46695  	if !(utf != 0 && fc >= 0xc0) {
 46696  		goto __1880
 46697  	}
 46698  	if !(fc&0x20 == Tuint32_t(0)) {
 46699  		goto __1881
 46700  	}
 46701  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46702  	goto __1882
 46703  __1881:
 46704  	if !(fc&0x10 == Tuint32_t(0)) {
 46705  		goto __1883
 46706  	}
 46707  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 46708  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 46709  	goto __1884
 46710  __1883:
 46711  	if !(fc&0x08 == Tuint32_t(0)) {
 46712  		goto __1885
 46713  	}
 46714  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 46715  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 46716  	goto __1886
 46717  __1885:
 46718  	if !(fc&0x04 == Tuint32_t(0)) {
 46719  		goto __1887
 46720  	}
 46721  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 46722  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 46723  	goto __1888
 46724  __1887:
 46725  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 46726  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 46727  __1888:
 46728  	;
 46729  __1886:
 46730  	;
 46731  __1884:
 46732  	;
 46733  __1882:
 46734  	;
 46735  __1880:
 46736  	;
 46737  
 46738  	if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 46739  		goto __1889
 46740  	}
 46741  	rrc = DMATCH_NOMATCH
 46742  	goto RETURN_SWITCH
 46743  __1889:
 46744  	;
 46745  
 46746  	goto __1873
 46747  __1873:
 46748  	goto __1872
 46749  	goto __1874
 46750  __1874:
 46751  	;
 46752  	// Control never gets here
 46753  
 46754  __1790:
 46755  __1890:
 46756  
 46757  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46758  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM225
 46759  	goto MATCH_RECURSE
 46760  L_RM225:
 46761  	;
 46762  
 46763  	if !(rrc != DMATCH_NOMATCH) {
 46764  		goto __1893
 46765  	}
 46766  	rrc = rrc
 46767  	goto RETURN_SWITCH
 46768  __1893:
 46769  	;
 46770  
 46771  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46772  		goto __1894
 46773  	}
 46774  	rrc = DMATCH_NOMATCH
 46775  	goto RETURN_SWITCH
 46776  __1894:
 46777  	;
 46778  
 46779  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46780  		goto __1895
 46781  	}
 46782  
 46783  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46784  		goto __1896
 46785  	}
 46786  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46787  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46788  		goto __1897
 46789  	}
 46790  	return -2
 46791  __1897:
 46792  	;
 46793  __1896:
 46794  	;
 46795  
 46796  	rrc = DMATCH_NOMATCH
 46797  	goto RETURN_SWITCH
 46798  
 46799  __1895:
 46800  	;
 46801  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46802  	if !(utf != 0 && fc >= 0xc0) {
 46803  		goto __1898
 46804  	}
 46805  	if !(fc&0x20 == Tuint32_t(0)) {
 46806  		goto __1899
 46807  	}
 46808  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46809  	goto __1900
 46810  __1899:
 46811  	if !(fc&0x10 == Tuint32_t(0)) {
 46812  		goto __1901
 46813  	}
 46814  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 46815  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 46816  	goto __1902
 46817  __1901:
 46818  	if !(fc&0x08 == Tuint32_t(0)) {
 46819  		goto __1903
 46820  	}
 46821  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 46822  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 46823  	goto __1904
 46824  __1903:
 46825  	if !(fc&0x04 == Tuint32_t(0)) {
 46826  		goto __1905
 46827  	}
 46828  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 46829  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 46830  	goto __1906
 46831  __1905:
 46832  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 46833  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 46834  __1906:
 46835  	;
 46836  __1904:
 46837  	;
 46838  __1902:
 46839  	;
 46840  __1900:
 46841  	;
 46842  __1898:
 46843  	;
 46844  
 46845  	prop3 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12
 46846  	ok4 = libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(prop3)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) ||
 46847  		*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop3)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 46848  	if !(ok4 == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 46849  		goto __1907
 46850  	}
 46851  	rrc = DMATCH_NOMATCH
 46852  	goto RETURN_SWITCH
 46853  __1907:
 46854  	;
 46855  
 46856  	goto __1891
 46857  __1891:
 46858  	goto __1890
 46859  	goto __1892
 46860  __1892:
 46861  	;
 46862  	// Control never gets here
 46863  
 46864  __1791:
 46865  __1908:
 46866  
 46867  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46868  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM213
 46869  	goto MATCH_RECURSE
 46870  L_RM213:
 46871  	;
 46872  
 46873  	if !(rrc != DMATCH_NOMATCH) {
 46874  		goto __1911
 46875  	}
 46876  	rrc = rrc
 46877  	goto RETURN_SWITCH
 46878  __1911:
 46879  	;
 46880  
 46881  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46882  		goto __1912
 46883  	}
 46884  	rrc = DMATCH_NOMATCH
 46885  	goto RETURN_SWITCH
 46886  __1912:
 46887  	;
 46888  
 46889  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 46890  		goto __1913
 46891  	}
 46892  
 46893  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 46894  		goto __1914
 46895  	}
 46896  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 46897  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 46898  		goto __1915
 46899  	}
 46900  	return -2
 46901  __1915:
 46902  	;
 46903  __1914:
 46904  	;
 46905  
 46906  	rrc = DMATCH_NOMATCH
 46907  	goto RETURN_SWITCH
 46908  
 46909  __1913:
 46910  	;
 46911  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 46912  	if !(utf != 0 && fc >= 0xc0) {
 46913  		goto __1916
 46914  	}
 46915  	if !(fc&0x20 == Tuint32_t(0)) {
 46916  		goto __1917
 46917  	}
 46918  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 46919  	goto __1918
 46920  __1917:
 46921  	if !(fc&0x10 == Tuint32_t(0)) {
 46922  		goto __1919
 46923  	}
 46924  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 46925  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 46926  	goto __1920
 46927  __1919:
 46928  	if !(fc&0x08 == Tuint32_t(0)) {
 46929  		goto __1921
 46930  	}
 46931  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 46932  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 46933  	goto __1922
 46934  __1921:
 46935  	if !(fc&0x04 == Tuint32_t(0)) {
 46936  		goto __1923
 46937  	}
 46938  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 46939  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 46940  	goto __1924
 46941  __1923:
 46942  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 46943  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 46944  __1924:
 46945  	;
 46946  __1922:
 46947  	;
 46948  __1920:
 46949  	;
 46950  __1918:
 46951  	;
 46952  __1916:
 46953  	;
 46954  
 46955  	category2 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 46956  	if !(libc.Bool32(category2 == ucp_L || category2 == ucp_N) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 46957  		goto __1925
 46958  	}
 46959  	rrc = DMATCH_NOMATCH
 46960  	goto RETURN_SWITCH
 46961  __1925:
 46962  	;
 46963  
 46964  	goto __1909
 46965  __1909:
 46966  	goto __1908
 46967  	goto __1910
 46968  __1910:
 46969  	;
 46970  	// Control never gets here
 46971  
 46972  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 46973  	//           which means that Perl space and POSIX space are now identical. PCRE
 46974  	//           was changed at release 8.34.
 46975  
 46976  __1792: // Perl space
 46977  __1793: // POSIX space
 46978  __1926:
 46979  
 46980  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 46981  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM214
 46982  	goto MATCH_RECURSE
 46983  L_RM214:
 46984  	;
 46985  
 46986  	if !(rrc != DMATCH_NOMATCH) {
 46987  		goto __1929
 46988  	}
 46989  	rrc = rrc
 46990  	goto RETURN_SWITCH
 46991  __1929:
 46992  	;
 46993  
 46994  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 46995  		goto __1930
 46996  	}
 46997  	rrc = DMATCH_NOMATCH
 46998  	goto RETURN_SWITCH
 46999  __1930:
 47000  	;
 47001  
 47002  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47003  		goto __1931
 47004  	}
 47005  
 47006  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47007  		goto __1932
 47008  	}
 47009  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47010  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47011  		goto __1933
 47012  	}
 47013  	return -2
 47014  __1933:
 47015  	;
 47016  __1932:
 47017  	;
 47018  
 47019  	rrc = DMATCH_NOMATCH
 47020  	goto RETURN_SWITCH
 47021  
 47022  __1931:
 47023  	;
 47024  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47025  	if !(utf != 0 && fc >= 0xc0) {
 47026  		goto __1934
 47027  	}
 47028  	if !(fc&0x20 == Tuint32_t(0)) {
 47029  		goto __1935
 47030  	}
 47031  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47032  	goto __1936
 47033  __1935:
 47034  	if !(fc&0x10 == Tuint32_t(0)) {
 47035  		goto __1937
 47036  	}
 47037  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47038  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47039  	goto __1938
 47040  __1937:
 47041  	if !(fc&0x08 == Tuint32_t(0)) {
 47042  		goto __1939
 47043  	}
 47044  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47045  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47046  	goto __1940
 47047  __1939:
 47048  	if !(fc&0x04 == Tuint32_t(0)) {
 47049  		goto __1941
 47050  	}
 47051  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47052  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47053  	goto __1942
 47054  __1941:
 47055  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47056  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47057  __1942:
 47058  	;
 47059  __1940:
 47060  	;
 47061  __1938:
 47062  	;
 47063  __1936:
 47064  	;
 47065  __1934:
 47066  	;
 47067  
 47068  	switch fc {
 47069  	case Tuint32_t('\011'):
 47070  		goto __1944
 47071  	case Tuint32_t('\040'):
 47072  		goto __1945
 47073  	case Tuint32_t(uint8('\xa0')):
 47074  		goto __1946
 47075  	case Tuint32_t(0x1680):
 47076  		goto __1947 /* OGHAM SPACE MARK */
 47077  	case Tuint32_t(0x180e):
 47078  		goto __1948 /* MONGOLIAN VOWEL SEPARATOR */
 47079  	case Tuint32_t(0x2000):
 47080  		goto __1949 /* EN QUAD */
 47081  	case Tuint32_t(0x2001):
 47082  		goto __1950 /* EM QUAD */
 47083  	case Tuint32_t(0x2002):
 47084  		goto __1951 /* EN SPACE */
 47085  	case Tuint32_t(0x2003):
 47086  		goto __1952 /* EM SPACE */
 47087  	case Tuint32_t(0x2004):
 47088  		goto __1953 /* THREE-PER-EM SPACE */
 47089  	case Tuint32_t(0x2005):
 47090  		goto __1954 /* FOUR-PER-EM SPACE */
 47091  	case Tuint32_t(0x2006):
 47092  		goto __1955 /* SIX-PER-EM SPACE */
 47093  	case Tuint32_t(0x2007):
 47094  		goto __1956 /* FIGURE SPACE */
 47095  	case Tuint32_t(0x2008):
 47096  		goto __1957 /* PUNCTUATION SPACE */
 47097  	case Tuint32_t(0x2009):
 47098  		goto __1958 /* THIN SPACE */
 47099  	case Tuint32_t(0x200A):
 47100  		goto __1959 /* HAIR SPACE */
 47101  	case Tuint32_t(0x202f):
 47102  		goto __1960 /* NARROW NO-BREAK SPACE */
 47103  	case Tuint32_t(0x205f):
 47104  		goto __1961 /* MEDIUM MATHEMATICAL SPACE */
 47105  	case Tuint32_t(0x3000):
 47106  		goto __1962
 47107  	case Tuint32_t('\012'):
 47108  		goto __1963
 47109  	case Tuint32_t('\013'):
 47110  		goto __1964
 47111  	case Tuint32_t('\014'):
 47112  		goto __1965
 47113  	case Tuint32_t('\015'):
 47114  		goto __1966
 47115  	case Tuint32_t(uint8('\x85')):
 47116  		goto __1967
 47117  	case Tuint32_t(0x2028):
 47118  		goto __1968 /* LINE SEPARATOR */
 47119  	case Tuint32_t(0x2029):
 47120  		goto __1969
 47121  
 47122  	default:
 47123  		goto __1970
 47124  	}
 47125  	goto __1943
 47126  
 47127  __1944:
 47128  __1945:
 47129  __1946:
 47130  __1947: /* OGHAM SPACE MARK */
 47131  __1948: /* MONGOLIAN VOWEL SEPARATOR */
 47132  __1949: /* EN QUAD */
 47133  __1950: /* EM QUAD */
 47134  __1951: /* EN SPACE */
 47135  __1952: /* EM SPACE */
 47136  __1953: /* THREE-PER-EM SPACE */
 47137  __1954: /* FOUR-PER-EM SPACE */
 47138  __1955: /* SIX-PER-EM SPACE */
 47139  __1956: /* FIGURE SPACE */
 47140  __1957: /* PUNCTUATION SPACE */
 47141  __1958: /* THIN SPACE */
 47142  __1959: /* HAIR SPACE */
 47143  __1960: /* NARROW NO-BREAK SPACE */
 47144  __1961: /* MEDIUM MATHEMATICAL SPACE */
 47145  __1962:
 47146  __1963:
 47147  __1964:
 47148  __1965:
 47149  __1966:
 47150  __1967:
 47151  __1968: /* LINE SEPARATOR */
 47152  __1969:
 47153  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) {
 47154  		goto __1971
 47155  	}
 47156  	rrc = DMATCH_NOMATCH
 47157  	goto RETURN_SWITCH
 47158  __1971:
 47159  	;
 47160  
 47161  	goto __1943
 47162  
 47163  __1970:
 47164  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == ucp_Z) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 47165  		goto __1972
 47166  	}
 47167  	rrc = DMATCH_NOMATCH
 47168  	goto RETURN_SWITCH
 47169  __1972:
 47170  	;
 47171  
 47172  	goto __1943
 47173  __1943:
 47174  	;
 47175  	goto __1927
 47176  __1927:
 47177  	goto __1926
 47178  	goto __1928
 47179  __1928:
 47180  	;
 47181  	// Control never gets here
 47182  
 47183  __1794:
 47184  __1973:
 47185  
 47186  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47187  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM215
 47188  	goto MATCH_RECURSE
 47189  L_RM215:
 47190  	;
 47191  
 47192  	if !(rrc != DMATCH_NOMATCH) {
 47193  		goto __1976
 47194  	}
 47195  	rrc = rrc
 47196  	goto RETURN_SWITCH
 47197  __1976:
 47198  	;
 47199  
 47200  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 47201  		goto __1977
 47202  	}
 47203  	rrc = DMATCH_NOMATCH
 47204  	goto RETURN_SWITCH
 47205  __1977:
 47206  	;
 47207  
 47208  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47209  		goto __1978
 47210  	}
 47211  
 47212  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47213  		goto __1979
 47214  	}
 47215  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47216  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47217  		goto __1980
 47218  	}
 47219  	return -2
 47220  __1980:
 47221  	;
 47222  __1979:
 47223  	;
 47224  
 47225  	rrc = DMATCH_NOMATCH
 47226  	goto RETURN_SWITCH
 47227  
 47228  __1978:
 47229  	;
 47230  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47231  	if !(utf != 0 && fc >= 0xc0) {
 47232  		goto __1981
 47233  	}
 47234  	if !(fc&0x20 == Tuint32_t(0)) {
 47235  		goto __1982
 47236  	}
 47237  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47238  	goto __1983
 47239  __1982:
 47240  	if !(fc&0x10 == Tuint32_t(0)) {
 47241  		goto __1984
 47242  	}
 47243  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47244  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47245  	goto __1985
 47246  __1984:
 47247  	if !(fc&0x08 == Tuint32_t(0)) {
 47248  		goto __1986
 47249  	}
 47250  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47251  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47252  	goto __1987
 47253  __1986:
 47254  	if !(fc&0x04 == Tuint32_t(0)) {
 47255  		goto __1988
 47256  	}
 47257  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47258  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47259  	goto __1989
 47260  __1988:
 47261  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47262  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47263  __1989:
 47264  	;
 47265  __1987:
 47266  	;
 47267  __1985:
 47268  	;
 47269  __1983:
 47270  	;
 47271  __1981:
 47272  	;
 47273  
 47274  	category3 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 47275  	if !(libc.Bool32(category3 == ucp_L || category3 == ucp_N || fc == Tuint32_t('\137')) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 47276  		goto __1990
 47277  	}
 47278  	rrc = DMATCH_NOMATCH
 47279  	goto RETURN_SWITCH
 47280  __1990:
 47281  	;
 47282  
 47283  	goto __1974
 47284  __1974:
 47285  	goto __1973
 47286  	goto __1975
 47287  __1975:
 47288  	;
 47289  	// Control never gets here
 47290  
 47291  __1795:
 47292  __1991:
 47293  
 47294  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47295  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM216
 47296  	goto MATCH_RECURSE
 47297  L_RM216:
 47298  	;
 47299  
 47300  	if !(rrc != DMATCH_NOMATCH) {
 47301  		goto __1994
 47302  	}
 47303  	rrc = rrc
 47304  	goto RETURN_SWITCH
 47305  __1994:
 47306  	;
 47307  
 47308  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 47309  		goto __1995
 47310  	}
 47311  	rrc = DMATCH_NOMATCH
 47312  	goto RETURN_SWITCH
 47313  __1995:
 47314  	;
 47315  
 47316  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47317  		goto __1996
 47318  	}
 47319  
 47320  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47321  		goto __1997
 47322  	}
 47323  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47324  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47325  		goto __1998
 47326  	}
 47327  	return -2
 47328  __1998:
 47329  	;
 47330  __1997:
 47331  	;
 47332  
 47333  	rrc = DMATCH_NOMATCH
 47334  	goto RETURN_SWITCH
 47335  
 47336  __1996:
 47337  	;
 47338  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47339  	if !(utf != 0 && fc >= 0xc0) {
 47340  		goto __1999
 47341  	}
 47342  	if !(fc&0x20 == Tuint32_t(0)) {
 47343  		goto __2000
 47344  	}
 47345  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47346  	goto __2001
 47347  __2000:
 47348  	if !(fc&0x10 == Tuint32_t(0)) {
 47349  		goto __2002
 47350  	}
 47351  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47352  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47353  	goto __2003
 47354  __2002:
 47355  	if !(fc&0x08 == Tuint32_t(0)) {
 47356  		goto __2004
 47357  	}
 47358  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47359  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47360  	goto __2005
 47361  __2004:
 47362  	if !(fc&0x04 == Tuint32_t(0)) {
 47363  		goto __2006
 47364  	}
 47365  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47366  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47367  	goto __2007
 47368  __2006:
 47369  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47370  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47371  __2007:
 47372  	;
 47373  __2005:
 47374  	;
 47375  __2003:
 47376  	;
 47377  __2001:
 47378  	;
 47379  __1999:
 47380  	;
 47381  
 47382  	cp2 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)))*4
 47383  __2008:
 47384  
 47385  	if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp2))) {
 47386  		goto __2011
 47387  	}
 47388  
 47389  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) {
 47390  		goto __2012
 47391  	}
 47392  	goto __2010
 47393  __2012:
 47394  	;
 47395  	rrc = DMATCH_NOMATCH
 47396  	goto RETURN_SWITCH
 47397  
 47398  __2011:
 47399  	;
 47400  	if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp2, 4)))) {
 47401  		goto __2013
 47402  	}
 47403  
 47404  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP) {
 47405  		goto __2014
 47406  	}
 47407  	rrc = DMATCH_NOMATCH
 47408  	goto RETURN_SWITCH
 47409  __2014:
 47410  	;
 47411  
 47412  	goto __2010
 47413  __2013:
 47414  	;
 47415  	goto __2009
 47416  __2009:
 47417  	goto __2008
 47418  	goto __2010
 47419  __2010:
 47420  	;
 47421  	goto __1992
 47422  __1992:
 47423  	goto __1991
 47424  	goto __1993
 47425  __1993:
 47426  	;
 47427  	// Control never gets here
 47428  
 47429  __1796:
 47430  __2015:
 47431  
 47432  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47433  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM217
 47434  	goto MATCH_RECURSE
 47435  L_RM217:
 47436  	;
 47437  
 47438  	if !(rrc != DMATCH_NOMATCH) {
 47439  		goto __2018
 47440  	}
 47441  	rrc = rrc
 47442  	goto RETURN_SWITCH
 47443  __2018:
 47444  	;
 47445  
 47446  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 47447  		goto __2019
 47448  	}
 47449  	rrc = DMATCH_NOMATCH
 47450  	goto RETURN_SWITCH
 47451  __2019:
 47452  	;
 47453  
 47454  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47455  		goto __2020
 47456  	}
 47457  
 47458  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47459  		goto __2021
 47460  	}
 47461  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47462  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47463  		goto __2022
 47464  	}
 47465  	return -2
 47466  __2022:
 47467  	;
 47468  __2021:
 47469  	;
 47470  
 47471  	rrc = DMATCH_NOMATCH
 47472  	goto RETURN_SWITCH
 47473  
 47474  __2020:
 47475  	;
 47476  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47477  	if !(utf != 0 && fc >= 0xc0) {
 47478  		goto __2023
 47479  	}
 47480  	if !(fc&0x20 == Tuint32_t(0)) {
 47481  		goto __2024
 47482  	}
 47483  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47484  	goto __2025
 47485  __2024:
 47486  	if !(fc&0x10 == Tuint32_t(0)) {
 47487  		goto __2026
 47488  	}
 47489  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47490  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47491  	goto __2027
 47492  __2026:
 47493  	if !(fc&0x08 == Tuint32_t(0)) {
 47494  		goto __2028
 47495  	}
 47496  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47497  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47498  	goto __2029
 47499  __2028:
 47500  	if !(fc&0x04 == Tuint32_t(0)) {
 47501  		goto __2030
 47502  	}
 47503  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47504  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47505  	goto __2031
 47506  __2030:
 47507  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47508  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47509  __2031:
 47510  	;
 47511  __2029:
 47512  	;
 47513  __2027:
 47514  	;
 47515  __2025:
 47516  	;
 47517  __2023:
 47518  	;
 47519  
 47520  	if !(libc.Bool32(fc == Tuint32_t('\044') || fc == Tuint32_t('\100') || fc == Tuint32_t('\140') || fc >= Tuint32_t(0xa0) && fc <= Tuint32_t(0xd7ff) || fc >= Tuint32_t(0xe000)) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 47521  		goto __2032
 47522  	}
 47523  	rrc = DMATCH_NOMATCH
 47524  	goto RETURN_SWITCH
 47525  __2032:
 47526  	;
 47527  
 47528  	goto __2016
 47529  __2016:
 47530  	goto __2015
 47531  	goto __2017
 47532  __2017:
 47533  	;
 47534  	// Control never gets here
 47535  
 47536  __1797:
 47537  __2033:
 47538  
 47539  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47540  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM224
 47541  	goto MATCH_RECURSE
 47542  L_RM224:
 47543  	;
 47544  
 47545  	if !(rrc != DMATCH_NOMATCH) {
 47546  		goto __2036
 47547  	}
 47548  	rrc = rrc
 47549  	goto RETURN_SWITCH
 47550  __2036:
 47551  	;
 47552  
 47553  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 47554  		goto __2037
 47555  	}
 47556  	rrc = DMATCH_NOMATCH
 47557  	goto RETURN_SWITCH
 47558  __2037:
 47559  	;
 47560  
 47561  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47562  		goto __2038
 47563  	}
 47564  
 47565  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47566  		goto __2039
 47567  	}
 47568  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47569  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47570  		goto __2040
 47571  	}
 47572  	return -2
 47573  __2040:
 47574  	;
 47575  __2039:
 47576  	;
 47577  
 47578  	rrc = DMATCH_NOMATCH
 47579  	goto RETURN_SWITCH
 47580  
 47581  __2038:
 47582  	;
 47583  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47584  	if !(utf != 0 && fc >= 0xc0) {
 47585  		goto __2041
 47586  	}
 47587  	if !(fc&0x20 == Tuint32_t(0)) {
 47588  		goto __2042
 47589  	}
 47590  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47591  	goto __2043
 47592  __2042:
 47593  	if !(fc&0x10 == Tuint32_t(0)) {
 47594  		goto __2044
 47595  	}
 47596  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47597  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47598  	goto __2045
 47599  __2044:
 47600  	if !(fc&0x08 == Tuint32_t(0)) {
 47601  		goto __2046
 47602  	}
 47603  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47604  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47605  	goto __2047
 47606  __2046:
 47607  	if !(fc&0x04 == Tuint32_t(0)) {
 47608  		goto __2048
 47609  	}
 47610  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47611  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47612  	goto __2049
 47613  __2048:
 47614  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47615  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47616  __2049:
 47617  	;
 47618  __2047:
 47619  	;
 47620  __2045:
 47621  	;
 47622  __2043:
 47623  	;
 47624  __2041:
 47625  	;
 47626  
 47627  	if !(libc.Bool32(Tuint32_t(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 47628  		goto __2050
 47629  	}
 47630  	rrc = DMATCH_NOMATCH
 47631  	goto RETURN_SWITCH
 47632  __2050:
 47633  	;
 47634  
 47635  	goto __2034
 47636  __2034:
 47637  	goto __2033
 47638  	goto __2035
 47639  __2035:
 47640  	;
 47641  	// Control never gets here
 47642  
 47643  __1798:
 47644  __2051:
 47645  
 47646  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47647  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM223
 47648  	goto MATCH_RECURSE
 47649  L_RM223:
 47650  	;
 47651  
 47652  	if !(rrc != DMATCH_NOMATCH) {
 47653  		goto __2054
 47654  	}
 47655  	rrc = rrc
 47656  	goto RETURN_SWITCH
 47657  __2054:
 47658  	;
 47659  
 47660  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 47661  		goto __2055
 47662  	}
 47663  	rrc = DMATCH_NOMATCH
 47664  	goto RETURN_SWITCH
 47665  __2055:
 47666  	;
 47667  
 47668  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47669  		goto __2056
 47670  	}
 47671  
 47672  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47673  		goto __2057
 47674  	}
 47675  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47676  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47677  		goto __2058
 47678  	}
 47679  	return -2
 47680  __2058:
 47681  	;
 47682  __2057:
 47683  	;
 47684  
 47685  	rrc = DMATCH_NOMATCH
 47686  	goto RETURN_SWITCH
 47687  
 47688  __2056:
 47689  	;
 47690  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47691  	if !(utf != 0 && fc >= 0xc0) {
 47692  		goto __2059
 47693  	}
 47694  	if !(fc&0x20 == Tuint32_t(0)) {
 47695  		goto __2060
 47696  	}
 47697  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47698  	goto __2061
 47699  __2060:
 47700  	if !(fc&0x10 == Tuint32_t(0)) {
 47701  		goto __2062
 47702  	}
 47703  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47704  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47705  	goto __2063
 47706  __2062:
 47707  	if !(fc&0x08 == Tuint32_t(0)) {
 47708  		goto __2064
 47709  	}
 47710  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47711  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47712  	goto __2065
 47713  __2064:
 47714  	if !(fc&0x04 == Tuint32_t(0)) {
 47715  		goto __2066
 47716  	}
 47717  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47718  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47719  	goto __2067
 47720  __2066:
 47721  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47722  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47723  __2067:
 47724  	;
 47725  __2065:
 47726  	;
 47727  __2063:
 47728  	;
 47729  __2061:
 47730  	;
 47731  __2059:
 47732  	;
 47733  
 47734  	prop4 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12
 47735  	ok5 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop4)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 47736  	if !(ok5 == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)) {
 47737  		goto __2068
 47738  	}
 47739  	rrc = DMATCH_NOMATCH
 47740  	goto RETURN_SWITCH
 47741  __2068:
 47742  	;
 47743  
 47744  	goto __2052
 47745  __2052:
 47746  	goto __2051
 47747  	goto __2053
 47748  __2053:
 47749  	;
 47750  	// Control never gets here
 47751  
 47752  	// This should never occur
 47753  __1799:
 47754  	return -44
 47755  __1784:
 47756  	;
 47757  	goto __1783
 47758  __1782:
 47759  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_EXTUNI) {
 47760  		goto __2069
 47761  	}
 47762  
 47763  __2071:
 47764  
 47765  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47766  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM218
 47767  	goto MATCH_RECURSE
 47768  L_RM218:
 47769  	;
 47770  
 47771  	if !(rrc != DMATCH_NOMATCH) {
 47772  		goto __2074
 47773  	}
 47774  	rrc = rrc
 47775  	goto RETURN_SWITCH
 47776  __2074:
 47777  	;
 47778  
 47779  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 47780  		goto __2075
 47781  	}
 47782  	rrc = DMATCH_NOMATCH
 47783  	goto RETURN_SWITCH
 47784  __2075:
 47785  	;
 47786  
 47787  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47788  		goto __2076
 47789  	}
 47790  
 47791  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47792  		goto __2078
 47793  	}
 47794  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47795  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47796  		goto __2079
 47797  	}
 47798  	return -2
 47799  __2079:
 47800  	;
 47801  __2078:
 47802  	;
 47803  
 47804  	rrc = DMATCH_NOMATCH
 47805  	goto RETURN_SWITCH
 47806  
 47807  	goto __2077
 47808  __2076:
 47809  
 47810  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47811  	if !(utf != 0 && fc >= 0xc0) {
 47812  		goto __2080
 47813  	}
 47814  	if !(fc&0x20 == Tuint32_t(0)) {
 47815  		goto __2081
 47816  	}
 47817  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47818  	goto __2082
 47819  __2081:
 47820  	if !(fc&0x10 == Tuint32_t(0)) {
 47821  		goto __2083
 47822  	}
 47823  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47824  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47825  	goto __2084
 47826  __2083:
 47827  	if !(fc&0x08 == Tuint32_t(0)) {
 47828  		goto __2085
 47829  	}
 47830  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47831  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47832  	goto __2086
 47833  __2085:
 47834  	if !(fc&0x04 == Tuint32_t(0)) {
 47835  		goto __2087
 47836  	}
 47837  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47838  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47839  	goto __2088
 47840  __2087:
 47841  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47842  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47843  __2088:
 47844  	;
 47845  __2086:
 47846  	;
 47847  __2084:
 47848  	;
 47849  __2082:
 47850  	;
 47851  __2080:
 47852  	;
 47853  
 47854  	(*Theapframe)(unsafe.Pointer(F)).Feptr = X_pcre2_extuni_8(tls, fc, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject,
 47855  		utf, uintptr(0))
 47856  __2077:
 47857  	;
 47858  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47859  		goto __2089
 47860  	}
 47861  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47862  		goto __2090
 47863  	}
 47864  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47865  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47866  		goto __2091
 47867  	}
 47868  	return -2
 47869  __2091:
 47870  	;
 47871  __2090:
 47872  	;
 47873  __2089:
 47874  	;
 47875  
 47876  	goto __2072
 47877  __2072:
 47878  	goto __2071
 47879  	goto __2073
 47880  __2073:
 47881  	;
 47882  	goto __2070
 47883  __2069:
 47884  
 47885  	// UTF mode for non-property testing character types.
 47886  
 47887  	if !(utf != 0) {
 47888  		goto __2092
 47889  	}
 47890  
 47891  __2094:
 47892  
 47893  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 47894  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM219
 47895  	goto MATCH_RECURSE
 47896  L_RM219:
 47897  	;
 47898  
 47899  	if !(rrc != DMATCH_NOMATCH) {
 47900  		goto __2097
 47901  	}
 47902  	rrc = rrc
 47903  	goto RETURN_SWITCH
 47904  __2097:
 47905  	;
 47906  
 47907  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 47908  		goto __2098
 47909  	}
 47910  	rrc = DMATCH_NOMATCH
 47911  	goto RETURN_SWITCH
 47912  __2098:
 47913  	;
 47914  
 47915  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 47916  		goto __2099
 47917  	}
 47918  
 47919  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 47920  		goto __2100
 47921  	}
 47922  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 47923  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 47924  		goto __2101
 47925  	}
 47926  	return -2
 47927  __2101:
 47928  	;
 47929  __2100:
 47930  	;
 47931  
 47932  	rrc = DMATCH_NOMATCH
 47933  	goto RETURN_SWITCH
 47934  
 47935  __2099:
 47936  	;
 47937  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_ANY && func() int32 {
 47938  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 47939  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 47940  		}
 47941  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 47942  	}() != 0) {
 47943  		goto __2102
 47944  	}
 47945  	rrc = DMATCH_NOMATCH
 47946  	goto RETURN_SWITCH
 47947  __2102:
 47948  	;
 47949  
 47950  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 47951  	if !(fc >= 0xc0) {
 47952  		goto __2103
 47953  	}
 47954  	if !(fc&0x20 == Tuint32_t(0)) {
 47955  		goto __2104
 47956  	}
 47957  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 47958  	goto __2105
 47959  __2104:
 47960  	if !(fc&0x10 == Tuint32_t(0)) {
 47961  		goto __2106
 47962  	}
 47963  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 47964  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 47965  	goto __2107
 47966  __2106:
 47967  	if !(fc&0x08 == Tuint32_t(0)) {
 47968  		goto __2108
 47969  	}
 47970  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 47971  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 47972  	goto __2109
 47973  __2108:
 47974  	if !(fc&0x04 == Tuint32_t(0)) {
 47975  		goto __2110
 47976  	}
 47977  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 47978  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 47979  	goto __2111
 47980  __2110:
 47981  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 47982  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 47983  __2111:
 47984  	;
 47985  __2109:
 47986  	;
 47987  __2107:
 47988  	;
 47989  __2105:
 47990  	;
 47991  __2103:
 47992  	;
 47993  
 47994  	switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) {
 47995  	case OP_ANY:
 47996  		goto __2113
 47997  
 47998  	case OP_ALLANY:
 47999  		goto __2114
 48000  	case OP_ANYBYTE:
 48001  		goto __2115
 48002  
 48003  	case OP_ANYNL:
 48004  		goto __2116
 48005  
 48006  	case OP_NOT_HSPACE:
 48007  		goto __2117
 48008  
 48009  	case OP_HSPACE:
 48010  		goto __2118
 48011  
 48012  	case OP_NOT_VSPACE:
 48013  		goto __2119
 48014  
 48015  	case OP_VSPACE:
 48016  		goto __2120
 48017  
 48018  	case OP_NOT_DIGIT:
 48019  		goto __2121
 48020  
 48021  	case OP_DIGIT:
 48022  		goto __2122
 48023  
 48024  	case OP_NOT_WHITESPACE:
 48025  		goto __2123
 48026  
 48027  	case OP_WHITESPACE:
 48028  		goto __2124
 48029  
 48030  	case OP_NOT_WORDCHAR:
 48031  		goto __2125
 48032  
 48033  	case OP_WORDCHAR:
 48034  		goto __2126
 48035  
 48036  	default:
 48037  		goto __2127
 48038  	}
 48039  	goto __2112
 48040  
 48041  __2113: // This is the non-NL case
 48042  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && fc == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 48043  		goto __2128
 48044  	}
 48045  
 48046  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48047  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48048  		goto __2129
 48049  	}
 48050  	return -2
 48051  __2129:
 48052  	;
 48053  __2128:
 48054  	;
 48055  	goto __2112
 48056  
 48057  __2114:
 48058  __2115:
 48059  	goto __2112
 48060  
 48061  __2116:
 48062  	switch fc {
 48063  	default:
 48064  		goto __2131
 48065  
 48066  	case Tuint32_t('\015'):
 48067  		goto __2132
 48068  
 48069  	case Tuint32_t('\012'):
 48070  		goto __2133
 48071  
 48072  	case Tuint32_t('\013'):
 48073  		goto __2134
 48074  	case Tuint32_t('\014'):
 48075  		goto __2135
 48076  	case Tuint32_t(uint8('\x85')):
 48077  		goto __2136
 48078  	case Tuint32_t(0x2028):
 48079  		goto __2137
 48080  	case Tuint32_t(0x2029):
 48081  		goto __2138
 48082  	}
 48083  	goto __2130
 48084  
 48085  __2131:
 48086  	rrc = DMATCH_NOMATCH
 48087  	goto RETURN_SWITCH
 48088  
 48089  __2132:
 48090  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 48091  		goto __2139
 48092  	}
 48093  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 48094  __2139:
 48095  	;
 48096  	goto __2130
 48097  
 48098  __2133:
 48099  	goto __2130
 48100  
 48101  __2134:
 48102  __2135:
 48103  __2136:
 48104  __2137:
 48105  __2138:
 48106  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 48107  		goto __2140
 48108  	}
 48109  	rrc = DMATCH_NOMATCH
 48110  	goto RETURN_SWITCH
 48111  __2140:
 48112  	;
 48113  
 48114  	goto __2130
 48115  __2130:
 48116  	;
 48117  	goto __2112
 48118  
 48119  __2117:
 48120  	switch fc {
 48121  	case Tuint32_t('\011'):
 48122  		goto __2142
 48123  	case Tuint32_t('\040'):
 48124  		goto __2143
 48125  	case Tuint32_t(uint8('\xa0')):
 48126  		goto __2144
 48127  	case Tuint32_t(0x1680):
 48128  		goto __2145 /* OGHAM SPACE MARK */
 48129  	case Tuint32_t(0x180e):
 48130  		goto __2146 /* MONGOLIAN VOWEL SEPARATOR */
 48131  	case Tuint32_t(0x2000):
 48132  		goto __2147 /* EN QUAD */
 48133  	case Tuint32_t(0x2001):
 48134  		goto __2148 /* EM QUAD */
 48135  	case Tuint32_t(0x2002):
 48136  		goto __2149 /* EN SPACE */
 48137  	case Tuint32_t(0x2003):
 48138  		goto __2150 /* EM SPACE */
 48139  	case Tuint32_t(0x2004):
 48140  		goto __2151 /* THREE-PER-EM SPACE */
 48141  	case Tuint32_t(0x2005):
 48142  		goto __2152 /* FOUR-PER-EM SPACE */
 48143  	case Tuint32_t(0x2006):
 48144  		goto __2153 /* SIX-PER-EM SPACE */
 48145  	case Tuint32_t(0x2007):
 48146  		goto __2154 /* FIGURE SPACE */
 48147  	case Tuint32_t(0x2008):
 48148  		goto __2155 /* PUNCTUATION SPACE */
 48149  	case Tuint32_t(0x2009):
 48150  		goto __2156 /* THIN SPACE */
 48151  	case Tuint32_t(0x200A):
 48152  		goto __2157 /* HAIR SPACE */
 48153  	case Tuint32_t(0x202f):
 48154  		goto __2158 /* NARROW NO-BREAK SPACE */
 48155  	case Tuint32_t(0x205f):
 48156  		goto __2159 /* MEDIUM MATHEMATICAL SPACE */
 48157  	case Tuint32_t(0x3000):
 48158  		goto __2160
 48159  	default:
 48160  		goto __2161
 48161  	}
 48162  	goto __2141
 48163  
 48164  __2142:
 48165  __2143:
 48166  __2144:
 48167  __2145: /* OGHAM SPACE MARK */
 48168  __2146: /* MONGOLIAN VOWEL SEPARATOR */
 48169  __2147: /* EN QUAD */
 48170  __2148: /* EM QUAD */
 48171  __2149: /* EN SPACE */
 48172  __2150: /* EM SPACE */
 48173  __2151: /* THREE-PER-EM SPACE */
 48174  __2152: /* FOUR-PER-EM SPACE */
 48175  __2153: /* SIX-PER-EM SPACE */
 48176  __2154: /* FIGURE SPACE */
 48177  __2155: /* PUNCTUATION SPACE */
 48178  __2156: /* THIN SPACE */
 48179  __2157: /* HAIR SPACE */
 48180  __2158: /* NARROW NO-BREAK SPACE */
 48181  __2159: /* MEDIUM MATHEMATICAL SPACE */
 48182  __2160:
 48183  	rrc = DMATCH_NOMATCH
 48184  	goto RETURN_SWITCH
 48185  
 48186  __2161:
 48187  	goto __2141
 48188  __2141:
 48189  	;
 48190  	goto __2112
 48191  
 48192  __2118:
 48193  	switch fc {
 48194  	case Tuint32_t('\011'):
 48195  		goto __2163
 48196  	case Tuint32_t('\040'):
 48197  		goto __2164
 48198  	case Tuint32_t(uint8('\xa0')):
 48199  		goto __2165
 48200  	case Tuint32_t(0x1680):
 48201  		goto __2166 /* OGHAM SPACE MARK */
 48202  	case Tuint32_t(0x180e):
 48203  		goto __2167 /* MONGOLIAN VOWEL SEPARATOR */
 48204  	case Tuint32_t(0x2000):
 48205  		goto __2168 /* EN QUAD */
 48206  	case Tuint32_t(0x2001):
 48207  		goto __2169 /* EM QUAD */
 48208  	case Tuint32_t(0x2002):
 48209  		goto __2170 /* EN SPACE */
 48210  	case Tuint32_t(0x2003):
 48211  		goto __2171 /* EM SPACE */
 48212  	case Tuint32_t(0x2004):
 48213  		goto __2172 /* THREE-PER-EM SPACE */
 48214  	case Tuint32_t(0x2005):
 48215  		goto __2173 /* FOUR-PER-EM SPACE */
 48216  	case Tuint32_t(0x2006):
 48217  		goto __2174 /* SIX-PER-EM SPACE */
 48218  	case Tuint32_t(0x2007):
 48219  		goto __2175 /* FIGURE SPACE */
 48220  	case Tuint32_t(0x2008):
 48221  		goto __2176 /* PUNCTUATION SPACE */
 48222  	case Tuint32_t(0x2009):
 48223  		goto __2177 /* THIN SPACE */
 48224  	case Tuint32_t(0x200A):
 48225  		goto __2178 /* HAIR SPACE */
 48226  	case Tuint32_t(0x202f):
 48227  		goto __2179 /* NARROW NO-BREAK SPACE */
 48228  	case Tuint32_t(0x205f):
 48229  		goto __2180 /* MEDIUM MATHEMATICAL SPACE */
 48230  	case Tuint32_t(0x3000):
 48231  		goto __2181
 48232  	default:
 48233  		goto __2182
 48234  	}
 48235  	goto __2162
 48236  
 48237  __2163:
 48238  __2164:
 48239  __2165:
 48240  __2166: /* OGHAM SPACE MARK */
 48241  __2167: /* MONGOLIAN VOWEL SEPARATOR */
 48242  __2168: /* EN QUAD */
 48243  __2169: /* EM QUAD */
 48244  __2170: /* EN SPACE */
 48245  __2171: /* EM SPACE */
 48246  __2172: /* THREE-PER-EM SPACE */
 48247  __2173: /* FOUR-PER-EM SPACE */
 48248  __2174: /* SIX-PER-EM SPACE */
 48249  __2175: /* FIGURE SPACE */
 48250  __2176: /* PUNCTUATION SPACE */
 48251  __2177: /* THIN SPACE */
 48252  __2178: /* HAIR SPACE */
 48253  __2179: /* NARROW NO-BREAK SPACE */
 48254  __2180: /* MEDIUM MATHEMATICAL SPACE */
 48255  __2181:
 48256  	goto __2162
 48257  __2182:
 48258  	rrc = DMATCH_NOMATCH
 48259  	goto RETURN_SWITCH
 48260  
 48261  __2162:
 48262  	;
 48263  	goto __2112
 48264  
 48265  __2119:
 48266  	switch fc {
 48267  	case Tuint32_t('\012'):
 48268  		goto __2184
 48269  	case Tuint32_t('\013'):
 48270  		goto __2185
 48271  	case Tuint32_t('\014'):
 48272  		goto __2186
 48273  	case Tuint32_t('\015'):
 48274  		goto __2187
 48275  	case Tuint32_t(uint8('\x85')):
 48276  		goto __2188
 48277  	case Tuint32_t(0x2028):
 48278  		goto __2189 /* LINE SEPARATOR */
 48279  	case Tuint32_t(0x2029):
 48280  		goto __2190
 48281  	default:
 48282  		goto __2191
 48283  	}
 48284  	goto __2183
 48285  
 48286  __2184:
 48287  __2185:
 48288  __2186:
 48289  __2187:
 48290  __2188:
 48291  __2189: /* LINE SEPARATOR */
 48292  __2190:
 48293  	rrc = DMATCH_NOMATCH
 48294  	goto RETURN_SWITCH
 48295  
 48296  __2191:
 48297  	goto __2183
 48298  __2183:
 48299  	;
 48300  	goto __2112
 48301  
 48302  __2120:
 48303  	switch fc {
 48304  	case Tuint32_t('\012'):
 48305  		goto __2193
 48306  	case Tuint32_t('\013'):
 48307  		goto __2194
 48308  	case Tuint32_t('\014'):
 48309  		goto __2195
 48310  	case Tuint32_t('\015'):
 48311  		goto __2196
 48312  	case Tuint32_t(uint8('\x85')):
 48313  		goto __2197
 48314  	case Tuint32_t(0x2028):
 48315  		goto __2198 /* LINE SEPARATOR */
 48316  	case Tuint32_t(0x2029):
 48317  		goto __2199
 48318  	default:
 48319  		goto __2200
 48320  	}
 48321  	goto __2192
 48322  
 48323  __2193:
 48324  __2194:
 48325  __2195:
 48326  __2196:
 48327  __2197:
 48328  __2198: /* LINE SEPARATOR */
 48329  __2199:
 48330  	goto __2192
 48331  __2200:
 48332  	rrc = DMATCH_NOMATCH
 48333  	goto RETURN_SWITCH
 48334  
 48335  __2192:
 48336  	;
 48337  	goto __2112
 48338  
 48339  __2121:
 48340  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 48341  		goto __2201
 48342  	}
 48343  	rrc = DMATCH_NOMATCH
 48344  	goto RETURN_SWITCH
 48345  __2201:
 48346  	;
 48347  
 48348  	goto __2112
 48349  
 48350  __2122:
 48351  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) {
 48352  		goto __2202
 48353  	}
 48354  	rrc = DMATCH_NOMATCH
 48355  	goto RETURN_SWITCH
 48356  __2202:
 48357  	;
 48358  
 48359  	goto __2112
 48360  
 48361  __2123:
 48362  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) {
 48363  		goto __2203
 48364  	}
 48365  	rrc = DMATCH_NOMATCH
 48366  	goto RETURN_SWITCH
 48367  __2203:
 48368  	;
 48369  
 48370  	goto __2112
 48371  
 48372  __2124:
 48373  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) {
 48374  		goto __2204
 48375  	}
 48376  	rrc = DMATCH_NOMATCH
 48377  	goto RETURN_SWITCH
 48378  __2204:
 48379  	;
 48380  
 48381  	goto __2112
 48382  
 48383  __2125:
 48384  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) {
 48385  		goto __2205
 48386  	}
 48387  	rrc = DMATCH_NOMATCH
 48388  	goto RETURN_SWITCH
 48389  __2205:
 48390  	;
 48391  
 48392  	goto __2112
 48393  
 48394  __2126:
 48395  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) {
 48396  		goto __2206
 48397  	}
 48398  	rrc = DMATCH_NOMATCH
 48399  	goto RETURN_SWITCH
 48400  __2206:
 48401  	;
 48402  
 48403  	goto __2112
 48404  
 48405  __2127:
 48406  	return -44
 48407  __2112:
 48408  	;
 48409  	goto __2095
 48410  __2095:
 48411  	goto __2094
 48412  	goto __2096
 48413  __2096:
 48414  	;
 48415  	goto __2093
 48416  __2092:
 48417  
 48418  	/* Not UTF mode */
 48419  
 48420  __2207:
 48421  
 48422  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 48423  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM33
 48424  	goto MATCH_RECURSE
 48425  L_RM33:
 48426  	;
 48427  
 48428  	if !(rrc != DMATCH_NOMATCH) {
 48429  		goto __2210
 48430  	}
 48431  	rrc = rrc
 48432  	goto RETURN_SWITCH
 48433  __2210:
 48434  	;
 48435  
 48436  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 48437  		goto __2211
 48438  	}
 48439  	rrc = DMATCH_NOMATCH
 48440  	goto RETURN_SWITCH
 48441  __2211:
 48442  	;
 48443  
 48444  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 48445  		goto __2212
 48446  	}
 48447  
 48448  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 48449  		goto __2213
 48450  	}
 48451  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48452  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48453  		goto __2214
 48454  	}
 48455  	return -2
 48456  __2214:
 48457  	;
 48458  __2213:
 48459  	;
 48460  
 48461  	rrc = DMATCH_NOMATCH
 48462  	goto RETURN_SWITCH
 48463  
 48464  __2212:
 48465  	;
 48466  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_ANY && func() int32 {
 48467  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 48468  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 48469  		}
 48470  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 48471  	}() != 0) {
 48472  		goto __2215
 48473  	}
 48474  	rrc = DMATCH_NOMATCH
 48475  	goto RETURN_SWITCH
 48476  __2215:
 48477  	;
 48478  
 48479  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 48480  	switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) {
 48481  	case OP_ANY:
 48482  		goto __2217
 48483  
 48484  	case OP_ALLANY:
 48485  		goto __2218
 48486  	case OP_ANYBYTE:
 48487  		goto __2219
 48488  
 48489  	case OP_ANYNL:
 48490  		goto __2220
 48491  
 48492  	case OP_NOT_HSPACE:
 48493  		goto __2221
 48494  
 48495  	case OP_HSPACE:
 48496  		goto __2222
 48497  
 48498  	case OP_NOT_VSPACE:
 48499  		goto __2223
 48500  
 48501  	case OP_VSPACE:
 48502  		goto __2224
 48503  
 48504  	case OP_NOT_DIGIT:
 48505  		goto __2225
 48506  
 48507  	case OP_DIGIT:
 48508  		goto __2226
 48509  
 48510  	case OP_NOT_WHITESPACE:
 48511  		goto __2227
 48512  
 48513  	case OP_WHITESPACE:
 48514  		goto __2228
 48515  
 48516  	case OP_NOT_WORDCHAR:
 48517  		goto __2229
 48518  
 48519  	case OP_WORDCHAR:
 48520  		goto __2230
 48521  
 48522  	default:
 48523  		goto __2231
 48524  	}
 48525  	goto __2216
 48526  
 48527  __2217: // This is the non-NL case
 48528  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && fc == Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 48529  		goto __2232
 48530  	}
 48531  
 48532  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48533  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48534  		goto __2233
 48535  	}
 48536  	return -2
 48537  __2233:
 48538  	;
 48539  __2232:
 48540  	;
 48541  	goto __2216
 48542  
 48543  __2218:
 48544  __2219:
 48545  	goto __2216
 48546  
 48547  __2220:
 48548  	switch fc {
 48549  	default:
 48550  		goto __2235
 48551  
 48552  	case Tuint32_t('\015'):
 48553  		goto __2236
 48554  
 48555  	case Tuint32_t('\012'):
 48556  		goto __2237
 48557  
 48558  	case Tuint32_t('\013'):
 48559  		goto __2238
 48560  	case Tuint32_t('\014'):
 48561  		goto __2239
 48562  	case Tuint32_t(uint8('\x85')):
 48563  		goto __2240
 48564  	}
 48565  	goto __2234
 48566  
 48567  __2235:
 48568  	rrc = DMATCH_NOMATCH
 48569  	goto RETURN_SWITCH
 48570  
 48571  __2236:
 48572  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 48573  		goto __2241
 48574  	}
 48575  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 48576  __2241:
 48577  	;
 48578  	goto __2234
 48579  
 48580  __2237:
 48581  	goto __2234
 48582  
 48583  __2238:
 48584  __2239:
 48585  __2240:
 48586  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF) {
 48587  		goto __2242
 48588  	}
 48589  	rrc = DMATCH_NOMATCH
 48590  	goto RETURN_SWITCH
 48591  __2242:
 48592  	;
 48593  
 48594  	goto __2234
 48595  __2234:
 48596  	;
 48597  	goto __2216
 48598  
 48599  __2221:
 48600  	switch fc {
 48601  	default:
 48602  		goto __2244
 48603  	case Tuint32_t('\011'):
 48604  		goto __2245
 48605  	case Tuint32_t('\040'):
 48606  		goto __2246
 48607  	case Tuint32_t(uint8('\xa0')):
 48608  		goto __2247
 48609  	}
 48610  	goto __2243
 48611  
 48612  __2244:
 48613  	goto __2243
 48614  __2245:
 48615  __2246:
 48616  __2247:
 48617  	rrc = DMATCH_NOMATCH
 48618  	goto RETURN_SWITCH
 48619  
 48620  __2243:
 48621  	;
 48622  	goto __2216
 48623  
 48624  __2222:
 48625  	switch fc {
 48626  	default:
 48627  		goto __2249
 48628  	case Tuint32_t('\011'):
 48629  		goto __2250
 48630  	case Tuint32_t('\040'):
 48631  		goto __2251
 48632  	case Tuint32_t(uint8('\xa0')):
 48633  		goto __2252
 48634  	}
 48635  	goto __2248
 48636  
 48637  __2249:
 48638  	rrc = DMATCH_NOMATCH
 48639  	goto RETURN_SWITCH
 48640  
 48641  __2250:
 48642  __2251:
 48643  __2252:
 48644  	goto __2248
 48645  __2248:
 48646  	;
 48647  	goto __2216
 48648  
 48649  __2223:
 48650  	switch fc {
 48651  	default:
 48652  		goto __2254
 48653  	case Tuint32_t('\012'):
 48654  		goto __2255
 48655  	case Tuint32_t('\013'):
 48656  		goto __2256
 48657  	case Tuint32_t('\014'):
 48658  		goto __2257
 48659  	case Tuint32_t('\015'):
 48660  		goto __2258
 48661  	case Tuint32_t(uint8('\x85')):
 48662  		goto __2259
 48663  	}
 48664  	goto __2253
 48665  
 48666  __2254:
 48667  	goto __2253
 48668  __2255:
 48669  __2256:
 48670  __2257:
 48671  __2258:
 48672  __2259:
 48673  	rrc = DMATCH_NOMATCH
 48674  	goto RETURN_SWITCH
 48675  
 48676  __2253:
 48677  	;
 48678  	goto __2216
 48679  
 48680  __2224:
 48681  	switch fc {
 48682  	default:
 48683  		goto __2261
 48684  	case Tuint32_t('\012'):
 48685  		goto __2262
 48686  	case Tuint32_t('\013'):
 48687  		goto __2263
 48688  	case Tuint32_t('\014'):
 48689  		goto __2264
 48690  	case Tuint32_t('\015'):
 48691  		goto __2265
 48692  	case Tuint32_t(uint8('\x85')):
 48693  		goto __2266
 48694  	}
 48695  	goto __2260
 48696  
 48697  __2261:
 48698  	rrc = DMATCH_NOMATCH
 48699  	goto RETURN_SWITCH
 48700  
 48701  __2262:
 48702  __2263:
 48703  __2264:
 48704  __2265:
 48705  __2266:
 48706  	goto __2260
 48707  __2260:
 48708  	;
 48709  	goto __2216
 48710  
 48711  __2225:
 48712  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 48713  		goto __2267
 48714  	}
 48715  	rrc = DMATCH_NOMATCH
 48716  	goto RETURN_SWITCH
 48717  __2267:
 48718  	;
 48719  
 48720  	goto __2216
 48721  
 48722  __2226:
 48723  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) {
 48724  		goto __2268
 48725  	}
 48726  	rrc = DMATCH_NOMATCH
 48727  	goto RETURN_SWITCH
 48728  __2268:
 48729  	;
 48730  
 48731  	goto __2216
 48732  
 48733  __2227:
 48734  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) {
 48735  		goto __2269
 48736  	}
 48737  	rrc = DMATCH_NOMATCH
 48738  	goto RETURN_SWITCH
 48739  __2269:
 48740  	;
 48741  
 48742  	goto __2216
 48743  
 48744  __2228:
 48745  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) {
 48746  		goto __2270
 48747  	}
 48748  	rrc = DMATCH_NOMATCH
 48749  	goto RETURN_SWITCH
 48750  __2270:
 48751  	;
 48752  
 48753  	goto __2216
 48754  
 48755  __2229:
 48756  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) {
 48757  		goto __2271
 48758  	}
 48759  	rrc = DMATCH_NOMATCH
 48760  	goto RETURN_SWITCH
 48761  __2271:
 48762  	;
 48763  
 48764  	goto __2216
 48765  
 48766  __2230:
 48767  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) {
 48768  		goto __2272
 48769  	}
 48770  	rrc = DMATCH_NOMATCH
 48771  	goto RETURN_SWITCH
 48772  __2272:
 48773  	;
 48774  
 48775  	goto __2216
 48776  
 48777  __2231:
 48778  	return -44
 48779  __2216:
 48780  	;
 48781  	goto __2208
 48782  __2208:
 48783  	goto __2207
 48784  	goto __2209
 48785  __2209:
 48786  	;
 48787  __2093:
 48788  	;
 48789  __2070:
 48790  	;
 48791  __1783:
 48792  	;
 48793  	// Control never gets here
 48794  	goto __1781
 48795  __1780:
 48796  
 48797  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr // Remember where we started
 48798  
 48799  	if !(proptype >= 0) {
 48800  		goto __2273
 48801  	}
 48802  	notmatch2 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOTPROP)
 48803  	switch proptype {
 48804  	case DPT_ANY:
 48805  		goto __2276
 48806  
 48807  	case DPT_LAMP:
 48808  		goto __2277
 48809  
 48810  	case DPT_GC:
 48811  		goto __2278
 48812  
 48813  	case DPT_PC:
 48814  		goto __2279
 48815  
 48816  	case DPT_SC:
 48817  		goto __2280
 48818  
 48819  	case DPT_SCX:
 48820  		goto __2281
 48821  
 48822  	case DPT_ALNUM:
 48823  		goto __2282
 48824  
 48825  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 48826  	//           which means that Perl space and POSIX space are now identical. PCRE
 48827  	//           was changed at release 8.34.
 48828  
 48829  	case DPT_SPACE:
 48830  		goto __2283 // Perl space
 48831  	case DPT_PXSPACE:
 48832  		goto __2284
 48833  
 48834  	case DPT_WORD:
 48835  		goto __2285
 48836  
 48837  	case DPT_CLIST:
 48838  		goto __2286
 48839  
 48840  	case DPT_UCNC:
 48841  		goto __2287
 48842  
 48843  	case DPT_BIDICL:
 48844  		goto __2288
 48845  
 48846  	case DPT_BOOL:
 48847  		goto __2289
 48848  
 48849  	default:
 48850  		goto __2290
 48851  	}
 48852  	goto __2275
 48853  
 48854  __2276:
 48855  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 48856  __2291:
 48857  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 48858  		goto __2293
 48859  	}
 48860  
 48861  	len4 = 1
 48862  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 48863  		goto __2294
 48864  	}
 48865  
 48866  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 48867  		goto __2295
 48868  	}
 48869  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48870  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48871  		goto __2296
 48872  	}
 48873  	return -2
 48874  __2296:
 48875  	;
 48876  __2295:
 48877  	;
 48878  
 48879  	goto __2293
 48880  __2294:
 48881  	;
 48882  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 48883  	if !(utf != 0 && fc >= 0xc0) {
 48884  		goto __2297
 48885  	}
 48886  	if !(fc&0x20 == Tuint32_t(0)) {
 48887  		goto __2298
 48888  	}
 48889  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 48890  	len4++
 48891  	goto __2299
 48892  __2298:
 48893  	if !(fc&0x10 == Tuint32_t(0)) {
 48894  		goto __2300
 48895  	}
 48896  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 48897  	len4 = len4 + 2
 48898  	goto __2301
 48899  __2300:
 48900  	if !(fc&0x08 == Tuint32_t(0)) {
 48901  		goto __2302
 48902  	}
 48903  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 48904  	len4 = len4 + 3
 48905  	goto __2303
 48906  __2302:
 48907  	if !(fc&0x04 == Tuint32_t(0)) {
 48908  		goto __2304
 48909  	}
 48910  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 48911  	len4 = len4 + 4
 48912  	goto __2305
 48913  __2304:
 48914  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 48915  	len4 = len4 + 5
 48916  __2305:
 48917  	;
 48918  __2303:
 48919  	;
 48920  __2301:
 48921  	;
 48922  __2299:
 48923  	;
 48924  __2297:
 48925  	;
 48926  
 48927  	if !(notmatch2 != 0) {
 48928  		goto __2306
 48929  	}
 48930  	goto __2293
 48931  __2306:
 48932  	;
 48933  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len4)
 48934  	goto __2292
 48935  __2292:
 48936  	i++
 48937  	goto __2291
 48938  	goto __2293
 48939  __2293:
 48940  	;
 48941  	goto __2275
 48942  
 48943  __2277:
 48944  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 48945  __2307:
 48946  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 48947  		goto __2309
 48948  	}
 48949  
 48950  	len5 = 1
 48951  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 48952  		goto __2310
 48953  	}
 48954  
 48955  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 48956  		goto __2311
 48957  	}
 48958  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 48959  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 48960  		goto __2312
 48961  	}
 48962  	return -2
 48963  __2312:
 48964  	;
 48965  __2311:
 48966  	;
 48967  
 48968  	goto __2309
 48969  __2310:
 48970  	;
 48971  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 48972  	if !(utf != 0 && fc >= 0xc0) {
 48973  		goto __2313
 48974  	}
 48975  	if !(fc&0x20 == Tuint32_t(0)) {
 48976  		goto __2314
 48977  	}
 48978  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 48979  	len5++
 48980  	goto __2315
 48981  __2314:
 48982  	if !(fc&0x10 == Tuint32_t(0)) {
 48983  		goto __2316
 48984  	}
 48985  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 48986  	len5 = len5 + 2
 48987  	goto __2317
 48988  __2316:
 48989  	if !(fc&0x08 == Tuint32_t(0)) {
 48990  		goto __2318
 48991  	}
 48992  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 48993  	len5 = len5 + 3
 48994  	goto __2319
 48995  __2318:
 48996  	if !(fc&0x04 == Tuint32_t(0)) {
 48997  		goto __2320
 48998  	}
 48999  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49000  	len5 = len5 + 4
 49001  	goto __2321
 49002  __2320:
 49003  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49004  	len5 = len5 + 5
 49005  __2321:
 49006  	;
 49007  __2319:
 49008  	;
 49009  __2317:
 49010  	;
 49011  __2315:
 49012  	;
 49013  __2313:
 49014  	;
 49015  
 49016  	chartype2 = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype)
 49017  	if !(libc.Bool32(chartype2 == ucp_Lu || chartype2 == ucp_Ll || chartype2 == ucp_Lt) == notmatch2) {
 49018  		goto __2322
 49019  	}
 49020  	goto __2309
 49021  __2322:
 49022  	;
 49023  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len5)
 49024  	goto __2308
 49025  __2308:
 49026  	i++
 49027  	goto __2307
 49028  	goto __2309
 49029  __2309:
 49030  	;
 49031  	goto __2275
 49032  
 49033  __2278:
 49034  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49035  __2323:
 49036  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49037  		goto __2325
 49038  	}
 49039  
 49040  	len6 = 1
 49041  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49042  		goto __2326
 49043  	}
 49044  
 49045  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49046  		goto __2327
 49047  	}
 49048  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49049  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49050  		goto __2328
 49051  	}
 49052  	return -2
 49053  __2328:
 49054  	;
 49055  __2327:
 49056  	;
 49057  
 49058  	goto __2325
 49059  __2326:
 49060  	;
 49061  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49062  	if !(utf != 0 && fc >= 0xc0) {
 49063  		goto __2329
 49064  	}
 49065  	if !(fc&0x20 == Tuint32_t(0)) {
 49066  		goto __2330
 49067  	}
 49068  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49069  	len6++
 49070  	goto __2331
 49071  __2330:
 49072  	if !(fc&0x10 == Tuint32_t(0)) {
 49073  		goto __2332
 49074  	}
 49075  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49076  	len6 = len6 + 2
 49077  	goto __2333
 49078  __2332:
 49079  	if !(fc&0x08 == Tuint32_t(0)) {
 49080  		goto __2334
 49081  	}
 49082  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49083  	len6 = len6 + 3
 49084  	goto __2335
 49085  __2334:
 49086  	if !(fc&0x04 == Tuint32_t(0)) {
 49087  		goto __2336
 49088  	}
 49089  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49090  	len6 = len6 + 4
 49091  	goto __2337
 49092  __2336:
 49093  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49094  	len6 = len6 + 5
 49095  __2337:
 49096  	;
 49097  __2335:
 49098  	;
 49099  __2333:
 49100  	;
 49101  __2331:
 49102  	;
 49103  __2329:
 49104  	;
 49105  
 49106  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch2) {
 49107  		goto __2338
 49108  	}
 49109  	goto __2325
 49110  __2338:
 49111  	;
 49112  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len6)
 49113  	goto __2324
 49114  __2324:
 49115  	i++
 49116  	goto __2323
 49117  	goto __2325
 49118  __2325:
 49119  	;
 49120  	goto __2275
 49121  
 49122  __2279:
 49123  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49124  __2339:
 49125  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49126  		goto __2341
 49127  	}
 49128  
 49129  	len7 = 1
 49130  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49131  		goto __2342
 49132  	}
 49133  
 49134  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49135  		goto __2343
 49136  	}
 49137  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49138  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49139  		goto __2344
 49140  	}
 49141  	return -2
 49142  __2344:
 49143  	;
 49144  __2343:
 49145  	;
 49146  
 49147  	goto __2341
 49148  __2342:
 49149  	;
 49150  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49151  	if !(utf != 0 && fc >= 0xc0) {
 49152  		goto __2345
 49153  	}
 49154  	if !(fc&0x20 == Tuint32_t(0)) {
 49155  		goto __2346
 49156  	}
 49157  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49158  	len7++
 49159  	goto __2347
 49160  __2346:
 49161  	if !(fc&0x10 == Tuint32_t(0)) {
 49162  		goto __2348
 49163  	}
 49164  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49165  	len7 = len7 + 2
 49166  	goto __2349
 49167  __2348:
 49168  	if !(fc&0x08 == Tuint32_t(0)) {
 49169  		goto __2350
 49170  	}
 49171  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49172  	len7 = len7 + 3
 49173  	goto __2351
 49174  __2350:
 49175  	if !(fc&0x04 == Tuint32_t(0)) {
 49176  		goto __2352
 49177  	}
 49178  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49179  	len7 = len7 + 4
 49180  	goto __2353
 49181  __2352:
 49182  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49183  	len7 = len7 + 5
 49184  __2353:
 49185  	;
 49186  __2351:
 49187  	;
 49188  __2349:
 49189  	;
 49190  __2347:
 49191  	;
 49192  __2345:
 49193  	;
 49194  
 49195  	if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch2) {
 49196  		goto __2354
 49197  	}
 49198  	goto __2341
 49199  __2354:
 49200  	;
 49201  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len7)
 49202  	goto __2340
 49203  __2340:
 49204  	i++
 49205  	goto __2339
 49206  	goto __2341
 49207  __2341:
 49208  	;
 49209  	goto __2275
 49210  
 49211  __2280:
 49212  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49213  __2355:
 49214  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49215  		goto __2357
 49216  	}
 49217  
 49218  	len8 = 1
 49219  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49220  		goto __2358
 49221  	}
 49222  
 49223  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49224  		goto __2359
 49225  	}
 49226  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49227  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49228  		goto __2360
 49229  	}
 49230  	return -2
 49231  __2360:
 49232  	;
 49233  __2359:
 49234  	;
 49235  
 49236  	goto __2357
 49237  __2358:
 49238  	;
 49239  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49240  	if !(utf != 0 && fc >= 0xc0) {
 49241  		goto __2361
 49242  	}
 49243  	if !(fc&0x20 == Tuint32_t(0)) {
 49244  		goto __2362
 49245  	}
 49246  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49247  	len8++
 49248  	goto __2363
 49249  __2362:
 49250  	if !(fc&0x10 == Tuint32_t(0)) {
 49251  		goto __2364
 49252  	}
 49253  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49254  	len8 = len8 + 2
 49255  	goto __2365
 49256  __2364:
 49257  	if !(fc&0x08 == Tuint32_t(0)) {
 49258  		goto __2366
 49259  	}
 49260  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49261  	len8 = len8 + 3
 49262  	goto __2367
 49263  __2366:
 49264  	if !(fc&0x04 == Tuint32_t(0)) {
 49265  		goto __2368
 49266  	}
 49267  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49268  	len8 = len8 + 4
 49269  	goto __2369
 49270  __2368:
 49271  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49272  	len8 = len8 + 5
 49273  __2369:
 49274  	;
 49275  __2367:
 49276  	;
 49277  __2365:
 49278  	;
 49279  __2363:
 49280  	;
 49281  __2361:
 49282  	;
 49283  
 49284  	if !(libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch2) {
 49285  		goto __2370
 49286  	}
 49287  	goto __2357
 49288  __2370:
 49289  	;
 49290  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len8)
 49291  	goto __2356
 49292  __2356:
 49293  	i++
 49294  	goto __2355
 49295  	goto __2357
 49296  __2357:
 49297  	;
 49298  	goto __2275
 49299  
 49300  __2281:
 49301  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49302  __2371:
 49303  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49304  		goto __2373
 49305  	}
 49306  
 49307  	len9 = 1
 49308  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49309  		goto __2374
 49310  	}
 49311  
 49312  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49313  		goto __2375
 49314  	}
 49315  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49316  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49317  		goto __2376
 49318  	}
 49319  	return -2
 49320  __2376:
 49321  	;
 49322  __2375:
 49323  	;
 49324  
 49325  	goto __2373
 49326  __2374:
 49327  	;
 49328  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49329  	if !(utf != 0 && fc >= 0xc0) {
 49330  		goto __2377
 49331  	}
 49332  	if !(fc&0x20 == Tuint32_t(0)) {
 49333  		goto __2378
 49334  	}
 49335  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49336  	len9++
 49337  	goto __2379
 49338  __2378:
 49339  	if !(fc&0x10 == Tuint32_t(0)) {
 49340  		goto __2380
 49341  	}
 49342  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49343  	len9 = len9 + 2
 49344  	goto __2381
 49345  __2380:
 49346  	if !(fc&0x08 == Tuint32_t(0)) {
 49347  		goto __2382
 49348  	}
 49349  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49350  	len9 = len9 + 3
 49351  	goto __2383
 49352  __2382:
 49353  	if !(fc&0x04 == Tuint32_t(0)) {
 49354  		goto __2384
 49355  	}
 49356  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49357  	len9 = len9 + 4
 49358  	goto __2385
 49359  __2384:
 49360  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49361  	len9 = len9 + 5
 49362  __2385:
 49363  	;
 49364  __2383:
 49365  	;
 49366  __2381:
 49367  	;
 49368  __2379:
 49369  	;
 49370  __2377:
 49371  	;
 49372  
 49373  	prop5 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12
 49374  	ok6 = libc.Bool32(Tuint32_t((*Tucd_record)(unsafe.Pointer(prop5)).Fscript) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop5)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 49375  	if !(ok6 == notmatch2) {
 49376  		goto __2386
 49377  	}
 49378  	goto __2373
 49379  __2386:
 49380  	;
 49381  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len9)
 49382  	goto __2372
 49383  __2372:
 49384  	i++
 49385  	goto __2371
 49386  	goto __2373
 49387  __2373:
 49388  	;
 49389  	goto __2275
 49390  
 49391  __2282:
 49392  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49393  __2387:
 49394  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49395  		goto __2389
 49396  	}
 49397  
 49398  	len10 = 1
 49399  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49400  		goto __2390
 49401  	}
 49402  
 49403  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49404  		goto __2391
 49405  	}
 49406  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49407  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49408  		goto __2392
 49409  	}
 49410  	return -2
 49411  __2392:
 49412  	;
 49413  __2391:
 49414  	;
 49415  
 49416  	goto __2389
 49417  __2390:
 49418  	;
 49419  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49420  	if !(utf != 0 && fc >= 0xc0) {
 49421  		goto __2393
 49422  	}
 49423  	if !(fc&0x20 == Tuint32_t(0)) {
 49424  		goto __2394
 49425  	}
 49426  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49427  	len10++
 49428  	goto __2395
 49429  __2394:
 49430  	if !(fc&0x10 == Tuint32_t(0)) {
 49431  		goto __2396
 49432  	}
 49433  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49434  	len10 = len10 + 2
 49435  	goto __2397
 49436  __2396:
 49437  	if !(fc&0x08 == Tuint32_t(0)) {
 49438  		goto __2398
 49439  	}
 49440  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49441  	len10 = len10 + 3
 49442  	goto __2399
 49443  __2398:
 49444  	if !(fc&0x04 == Tuint32_t(0)) {
 49445  		goto __2400
 49446  	}
 49447  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49448  	len10 = len10 + 4
 49449  	goto __2401
 49450  __2400:
 49451  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49452  	len10 = len10 + 5
 49453  __2401:
 49454  	;
 49455  __2399:
 49456  	;
 49457  __2397:
 49458  	;
 49459  __2395:
 49460  	;
 49461  __2393:
 49462  	;
 49463  
 49464  	category4 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 49465  	if !(libc.Bool32(category4 == ucp_L || category4 == ucp_N) == notmatch2) {
 49466  		goto __2402
 49467  	}
 49468  	goto __2389
 49469  __2402:
 49470  	;
 49471  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len10)
 49472  	goto __2388
 49473  __2388:
 49474  	i++
 49475  	goto __2387
 49476  	goto __2389
 49477  __2389:
 49478  	;
 49479  	goto __2275
 49480  
 49481  	// Perl space used to exclude VT, but from Perl 5.18 it is included,
 49482  	//           which means that Perl space and POSIX space are now identical. PCRE
 49483  	//           was changed at release 8.34.
 49484  
 49485  __2283: // Perl space
 49486  __2284: // POSIX space
 49487  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49488  __2403:
 49489  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49490  		goto __2405
 49491  	}
 49492  
 49493  	len11 = 1
 49494  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49495  		goto __2406
 49496  	}
 49497  
 49498  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49499  		goto __2407
 49500  	}
 49501  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49502  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49503  		goto __2408
 49504  	}
 49505  	return -2
 49506  __2408:
 49507  	;
 49508  __2407:
 49509  	;
 49510  
 49511  	goto __2405
 49512  __2406:
 49513  	;
 49514  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49515  	if !(utf != 0 && fc >= 0xc0) {
 49516  		goto __2409
 49517  	}
 49518  	if !(fc&0x20 == Tuint32_t(0)) {
 49519  		goto __2410
 49520  	}
 49521  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49522  	len11++
 49523  	goto __2411
 49524  __2410:
 49525  	if !(fc&0x10 == Tuint32_t(0)) {
 49526  		goto __2412
 49527  	}
 49528  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49529  	len11 = len11 + 2
 49530  	goto __2413
 49531  __2412:
 49532  	if !(fc&0x08 == Tuint32_t(0)) {
 49533  		goto __2414
 49534  	}
 49535  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49536  	len11 = len11 + 3
 49537  	goto __2415
 49538  __2414:
 49539  	if !(fc&0x04 == Tuint32_t(0)) {
 49540  		goto __2416
 49541  	}
 49542  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49543  	len11 = len11 + 4
 49544  	goto __2417
 49545  __2416:
 49546  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49547  	len11 = len11 + 5
 49548  __2417:
 49549  	;
 49550  __2415:
 49551  	;
 49552  __2413:
 49553  	;
 49554  __2411:
 49555  	;
 49556  __2409:
 49557  	;
 49558  
 49559  	switch fc {
 49560  	case Tuint32_t('\011'):
 49561  		goto __2419
 49562  	case Tuint32_t('\040'):
 49563  		goto __2420
 49564  	case Tuint32_t(uint8('\xa0')):
 49565  		goto __2421
 49566  	case Tuint32_t(0x1680):
 49567  		goto __2422 /* OGHAM SPACE MARK */
 49568  	case Tuint32_t(0x180e):
 49569  		goto __2423 /* MONGOLIAN VOWEL SEPARATOR */
 49570  	case Tuint32_t(0x2000):
 49571  		goto __2424 /* EN QUAD */
 49572  	case Tuint32_t(0x2001):
 49573  		goto __2425 /* EM QUAD */
 49574  	case Tuint32_t(0x2002):
 49575  		goto __2426 /* EN SPACE */
 49576  	case Tuint32_t(0x2003):
 49577  		goto __2427 /* EM SPACE */
 49578  	case Tuint32_t(0x2004):
 49579  		goto __2428 /* THREE-PER-EM SPACE */
 49580  	case Tuint32_t(0x2005):
 49581  		goto __2429 /* FOUR-PER-EM SPACE */
 49582  	case Tuint32_t(0x2006):
 49583  		goto __2430 /* SIX-PER-EM SPACE */
 49584  	case Tuint32_t(0x2007):
 49585  		goto __2431 /* FIGURE SPACE */
 49586  	case Tuint32_t(0x2008):
 49587  		goto __2432 /* PUNCTUATION SPACE */
 49588  	case Tuint32_t(0x2009):
 49589  		goto __2433 /* THIN SPACE */
 49590  	case Tuint32_t(0x200A):
 49591  		goto __2434 /* HAIR SPACE */
 49592  	case Tuint32_t(0x202f):
 49593  		goto __2435 /* NARROW NO-BREAK SPACE */
 49594  	case Tuint32_t(0x205f):
 49595  		goto __2436 /* MEDIUM MATHEMATICAL SPACE */
 49596  	case Tuint32_t(0x3000):
 49597  		goto __2437
 49598  	case Tuint32_t('\012'):
 49599  		goto __2438
 49600  	case Tuint32_t('\013'):
 49601  		goto __2439
 49602  	case Tuint32_t('\014'):
 49603  		goto __2440
 49604  	case Tuint32_t('\015'):
 49605  		goto __2441
 49606  	case Tuint32_t(uint8('\x85')):
 49607  		goto __2442
 49608  	case Tuint32_t(0x2028):
 49609  		goto __2443 /* LINE SEPARATOR */
 49610  	case Tuint32_t(0x2029):
 49611  		goto __2444
 49612  
 49613  	default:
 49614  		goto __2445
 49615  	}
 49616  	goto __2418
 49617  
 49618  __2419:
 49619  __2420:
 49620  __2421:
 49621  __2422: /* OGHAM SPACE MARK */
 49622  __2423: /* MONGOLIAN VOWEL SEPARATOR */
 49623  __2424: /* EN QUAD */
 49624  __2425: /* EM QUAD */
 49625  __2426: /* EN SPACE */
 49626  __2427: /* EM SPACE */
 49627  __2428: /* THREE-PER-EM SPACE */
 49628  __2429: /* FOUR-PER-EM SPACE */
 49629  __2430: /* SIX-PER-EM SPACE */
 49630  __2431: /* FIGURE SPACE */
 49631  __2432: /* PUNCTUATION SPACE */
 49632  __2433: /* THIN SPACE */
 49633  __2434: /* HAIR SPACE */
 49634  __2435: /* NARROW NO-BREAK SPACE */
 49635  __2436: /* MEDIUM MATHEMATICAL SPACE */
 49636  __2437:
 49637  __2438:
 49638  __2439:
 49639  __2440:
 49640  __2441:
 49641  __2442:
 49642  __2443: /* LINE SEPARATOR */
 49643  __2444:
 49644  	if !(notmatch2 != 0) {
 49645  		goto __2446
 49646  	}
 49647  	goto ENDLOOP99
 49648  __2446:
 49649  	; // Break the loop
 49650  	goto __2418
 49651  
 49652  __2445:
 49653  	if !(libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype] == ucp_Z) == notmatch2) {
 49654  		goto __2447
 49655  	}
 49656  	goto ENDLOOP99
 49657  __2447:
 49658  	; // Break the loop
 49659  	goto __2418
 49660  __2418:
 49661  	;
 49662  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len11)
 49663  	goto __2404
 49664  __2404:
 49665  	i++
 49666  	goto __2403
 49667  	goto __2405
 49668  __2405:
 49669  	;
 49670  ENDLOOP99:
 49671  	goto __2275
 49672  
 49673  __2285:
 49674  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49675  __2448:
 49676  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49677  		goto __2450
 49678  	}
 49679  
 49680  	len12 = 1
 49681  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49682  		goto __2451
 49683  	}
 49684  
 49685  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49686  		goto __2452
 49687  	}
 49688  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49689  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49690  		goto __2453
 49691  	}
 49692  	return -2
 49693  __2453:
 49694  	;
 49695  __2452:
 49696  	;
 49697  
 49698  	goto __2450
 49699  __2451:
 49700  	;
 49701  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49702  	if !(utf != 0 && fc >= 0xc0) {
 49703  		goto __2454
 49704  	}
 49705  	if !(fc&0x20 == Tuint32_t(0)) {
 49706  		goto __2455
 49707  	}
 49708  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49709  	len12++
 49710  	goto __2456
 49711  __2455:
 49712  	if !(fc&0x10 == Tuint32_t(0)) {
 49713  		goto __2457
 49714  	}
 49715  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49716  	len12 = len12 + 2
 49717  	goto __2458
 49718  __2457:
 49719  	if !(fc&0x08 == Tuint32_t(0)) {
 49720  		goto __2459
 49721  	}
 49722  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49723  	len12 = len12 + 3
 49724  	goto __2460
 49725  __2459:
 49726  	if !(fc&0x04 == Tuint32_t(0)) {
 49727  		goto __2461
 49728  	}
 49729  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49730  	len12 = len12 + 4
 49731  	goto __2462
 49732  __2461:
 49733  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49734  	len12 = len12 + 5
 49735  __2462:
 49736  	;
 49737  __2460:
 49738  	;
 49739  __2458:
 49740  	;
 49741  __2456:
 49742  	;
 49743  __2454:
 49744  	;
 49745  
 49746  	category5 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 49747  	if !(libc.Bool32(category5 == ucp_L || category5 == ucp_N || fc == Tuint32_t('\137')) == notmatch2) {
 49748  		goto __2463
 49749  	}
 49750  	goto __2450
 49751  __2463:
 49752  	;
 49753  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len12)
 49754  	goto __2449
 49755  __2449:
 49756  	i++
 49757  	goto __2448
 49758  	goto __2450
 49759  __2450:
 49760  	;
 49761  	goto __2275
 49762  
 49763  __2286:
 49764  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49765  __2464:
 49766  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49767  		goto __2466
 49768  	}
 49769  
 49770  	len13 = 1
 49771  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49772  		goto __2467
 49773  	}
 49774  
 49775  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49776  		goto __2468
 49777  	}
 49778  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49779  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49780  		goto __2469
 49781  	}
 49782  	return -2
 49783  __2469:
 49784  	;
 49785  __2468:
 49786  	;
 49787  
 49788  	goto __2466
 49789  __2467:
 49790  	;
 49791  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49792  	if !(utf != 0 && fc >= 0xc0) {
 49793  		goto __2470
 49794  	}
 49795  	if !(fc&0x20 == Tuint32_t(0)) {
 49796  		goto __2471
 49797  	}
 49798  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49799  	len13++
 49800  	goto __2472
 49801  __2471:
 49802  	if !(fc&0x10 == Tuint32_t(0)) {
 49803  		goto __2473
 49804  	}
 49805  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49806  	len13 = len13 + 2
 49807  	goto __2474
 49808  __2473:
 49809  	if !(fc&0x08 == Tuint32_t(0)) {
 49810  		goto __2475
 49811  	}
 49812  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49813  	len13 = len13 + 3
 49814  	goto __2476
 49815  __2475:
 49816  	if !(fc&0x04 == Tuint32_t(0)) {
 49817  		goto __2477
 49818  	}
 49819  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49820  	len13 = len13 + 4
 49821  	goto __2478
 49822  __2477:
 49823  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49824  	len13 = len13 + 5
 49825  __2478:
 49826  	;
 49827  __2476:
 49828  	;
 49829  __2474:
 49830  	;
 49831  __2472:
 49832  	;
 49833  __2470:
 49834  	;
 49835  
 49836  	cp3 = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4)))*4
 49837  __2479:
 49838  
 49839  	if !(fc < *(*Tuint32_t)(unsafe.Pointer(cp3))) {
 49840  		goto __2482
 49841  	}
 49842  	if !(notmatch2 != 0) {
 49843  		goto __2483
 49844  	}
 49845  	goto __2481
 49846  	goto __2484
 49847  __2483:
 49848  	goto GOT_MAX
 49849  __2484:
 49850  	;
 49851  __2482:
 49852  	;
 49853  	if !(fc == *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&cp3, 4)))) {
 49854  		goto __2485
 49855  	}
 49856  	if !(notmatch2 != 0) {
 49857  		goto __2486
 49858  	}
 49859  	goto GOT_MAX
 49860  	goto __2487
 49861  __2486:
 49862  	goto __2481
 49863  __2487:
 49864  	;
 49865  __2485:
 49866  	;
 49867  	goto __2480
 49868  __2480:
 49869  	goto __2479
 49870  	goto __2481
 49871  __2481:
 49872  	;
 49873  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len13)
 49874  	goto __2465
 49875  __2465:
 49876  	i++
 49877  	goto __2464
 49878  	goto __2466
 49879  __2466:
 49880  	;
 49881  GOT_MAX:
 49882  	goto __2275
 49883  
 49884  __2287:
 49885  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49886  __2488:
 49887  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49888  		goto __2490
 49889  	}
 49890  
 49891  	len14 = 1
 49892  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49893  		goto __2491
 49894  	}
 49895  
 49896  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49897  		goto __2492
 49898  	}
 49899  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49900  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49901  		goto __2493
 49902  	}
 49903  	return -2
 49904  __2493:
 49905  	;
 49906  __2492:
 49907  	;
 49908  
 49909  	goto __2490
 49910  __2491:
 49911  	;
 49912  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 49913  	if !(utf != 0 && fc >= 0xc0) {
 49914  		goto __2494
 49915  	}
 49916  	if !(fc&0x20 == Tuint32_t(0)) {
 49917  		goto __2495
 49918  	}
 49919  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 49920  	len14++
 49921  	goto __2496
 49922  __2495:
 49923  	if !(fc&0x10 == Tuint32_t(0)) {
 49924  		goto __2497
 49925  	}
 49926  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 49927  	len14 = len14 + 2
 49928  	goto __2498
 49929  __2497:
 49930  	if !(fc&0x08 == Tuint32_t(0)) {
 49931  		goto __2499
 49932  	}
 49933  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 49934  	len14 = len14 + 3
 49935  	goto __2500
 49936  __2499:
 49937  	if !(fc&0x04 == Tuint32_t(0)) {
 49938  		goto __2501
 49939  	}
 49940  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 49941  	len14 = len14 + 4
 49942  	goto __2502
 49943  __2501:
 49944  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 49945  	len14 = len14 + 5
 49946  __2502:
 49947  	;
 49948  __2500:
 49949  	;
 49950  __2498:
 49951  	;
 49952  __2496:
 49953  	;
 49954  __2494:
 49955  	;
 49956  
 49957  	if !(libc.Bool32(fc == Tuint32_t('\044') || fc == Tuint32_t('\100') || fc == Tuint32_t('\140') || fc >= Tuint32_t(0xa0) && fc <= Tuint32_t(0xd7ff) || fc >= Tuint32_t(0xe000)) == notmatch2) {
 49958  		goto __2503
 49959  	}
 49960  	goto __2490
 49961  __2503:
 49962  	;
 49963  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len14)
 49964  	goto __2489
 49965  __2489:
 49966  	i++
 49967  	goto __2488
 49968  	goto __2490
 49969  __2490:
 49970  	;
 49971  	goto __2275
 49972  
 49973  __2288:
 49974  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 49975  __2504:
 49976  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 49977  		goto __2506
 49978  	}
 49979  
 49980  	len15 = 1
 49981  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 49982  		goto __2507
 49983  	}
 49984  
 49985  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 49986  		goto __2508
 49987  	}
 49988  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 49989  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 49990  		goto __2509
 49991  	}
 49992  	return -2
 49993  __2509:
 49994  	;
 49995  __2508:
 49996  	;
 49997  
 49998  	goto __2506
 49999  __2507:
 50000  	;
 50001  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50002  	if !(utf != 0 && fc >= 0xc0) {
 50003  		goto __2510
 50004  	}
 50005  	if !(fc&0x20 == Tuint32_t(0)) {
 50006  		goto __2511
 50007  	}
 50008  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50009  	len15++
 50010  	goto __2512
 50011  __2511:
 50012  	if !(fc&0x10 == Tuint32_t(0)) {
 50013  		goto __2513
 50014  	}
 50015  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 50016  	len15 = len15 + 2
 50017  	goto __2514
 50018  __2513:
 50019  	if !(fc&0x08 == Tuint32_t(0)) {
 50020  		goto __2515
 50021  	}
 50022  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 50023  	len15 = len15 + 3
 50024  	goto __2516
 50025  __2515:
 50026  	if !(fc&0x04 == Tuint32_t(0)) {
 50027  		goto __2517
 50028  	}
 50029  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 50030  	len15 = len15 + 4
 50031  	goto __2518
 50032  __2517:
 50033  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 50034  	len15 = len15 + 5
 50035  __2518:
 50036  	;
 50037  __2516:
 50038  	;
 50039  __2514:
 50040  	;
 50041  __2512:
 50042  	;
 50043  __2510:
 50044  	;
 50045  
 50046  	if !(libc.Bool32(Tuint32_t(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))) == notmatch2) {
 50047  		goto __2519
 50048  	}
 50049  	goto __2506
 50050  __2519:
 50051  	;
 50052  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len15)
 50053  	goto __2505
 50054  __2505:
 50055  	i++
 50056  	goto __2504
 50057  	goto __2506
 50058  __2506:
 50059  	;
 50060  	goto __2275
 50061  
 50062  __2289:
 50063  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 50064  __2520:
 50065  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 50066  		goto __2522
 50067  	}
 50068  
 50069  	len16 = 1
 50070  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50071  		goto __2523
 50072  	}
 50073  
 50074  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50075  		goto __2524
 50076  	}
 50077  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50078  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50079  		goto __2525
 50080  	}
 50081  	return -2
 50082  __2525:
 50083  	;
 50084  __2524:
 50085  	;
 50086  
 50087  	goto __2522
 50088  __2523:
 50089  	;
 50090  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50091  	if !(utf != 0 && fc >= 0xc0) {
 50092  		goto __2526
 50093  	}
 50094  	if !(fc&0x20 == Tuint32_t(0)) {
 50095  		goto __2527
 50096  	}
 50097  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50098  	len16++
 50099  	goto __2528
 50100  __2527:
 50101  	if !(fc&0x10 == Tuint32_t(0)) {
 50102  		goto __2529
 50103  	}
 50104  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 50105  	len16 = len16 + 2
 50106  	goto __2530
 50107  __2529:
 50108  	if !(fc&0x08 == Tuint32_t(0)) {
 50109  		goto __2531
 50110  	}
 50111  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 50112  	len16 = len16 + 3
 50113  	goto __2532
 50114  __2531:
 50115  	if !(fc&0x04 == Tuint32_t(0)) {
 50116  		goto __2533
 50117  	}
 50118  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 50119  	len16 = len16 + 4
 50120  	goto __2534
 50121  __2533:
 50122  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 50123  	len16 = len16 + 5
 50124  __2534:
 50125  	;
 50126  __2532:
 50127  	;
 50128  __2530:
 50129  	;
 50130  __2528:
 50131  	;
 50132  __2526:
 50133  	;
 50134  
 50135  	prop6 = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12
 50136  	ok7 = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop6)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))/Tuint32_t(32))*4))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 3*4))%Tuint32_t(32))) != Tuint32_t(0))
 50137  	if !(ok7 == notmatch2) {
 50138  		goto __2535
 50139  	}
 50140  	goto __2522
 50141  __2535:
 50142  	;
 50143  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len16)
 50144  	goto __2521
 50145  __2521:
 50146  	i++
 50147  	goto __2520
 50148  	goto __2522
 50149  __2522:
 50150  	;
 50151  	goto __2275
 50152  
 50153  __2290:
 50154  	return -44
 50155  __2275:
 50156  	;
 50157  
 50158  	// Feptr is now past the end of the maximum run
 50159  
 50160  	if !(reptype == REPTYPE_POS) {
 50161  		goto __2536
 50162  	}
 50163  	goto __11
 50164  __2536:
 50165  	; // No backtracking
 50166  
 50167  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 50168  	//         Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't
 50169  	//         go too far.
 50170  
 50171  __2537:
 50172  
 50173  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 50174  		goto __2540
 50175  	}
 50176  	goto __2539
 50177  __2540:
 50178  	;
 50179  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 50180  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM222
 50181  	goto MATCH_RECURSE
 50182  L_RM222:
 50183  	;
 50184  
 50185  	if !(rrc != DMATCH_NOMATCH) {
 50186  		goto __2541
 50187  	}
 50188  	rrc = rrc
 50189  	goto RETURN_SWITCH
 50190  __2541:
 50191  	;
 50192  
 50193  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 50194  	if !(utf != 0) {
 50195  		goto __2542
 50196  	}
 50197  __2543:
 50198  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 50199  		goto __2544
 50200  	}
 50201  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 50202  	goto __2543
 50203  __2544:
 50204  	;
 50205  __2542:
 50206  	;
 50207  	goto __2538
 50208  __2538:
 50209  	goto __2537
 50210  	goto __2539
 50211  __2539:
 50212  	;
 50213  	goto __2274
 50214  __2273:
 50215  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_EXTUNI) {
 50216  		goto __2545
 50217  	}
 50218  
 50219  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 50220  __2547:
 50221  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 50222  		goto __2549
 50223  	}
 50224  
 50225  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50226  		goto __2550
 50227  	}
 50228  
 50229  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50230  		goto __2552
 50231  	}
 50232  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50233  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50234  		goto __2553
 50235  	}
 50236  	return -2
 50237  __2553:
 50238  	;
 50239  __2552:
 50240  	;
 50241  
 50242  	goto __2549
 50243  	goto __2551
 50244  __2550:
 50245  
 50246  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))
 50247  	if !(utf != 0 && fc >= 0xc0) {
 50248  		goto __2554
 50249  	}
 50250  	if !(fc&0x20 == Tuint32_t(0)) {
 50251  		goto __2555
 50252  	}
 50253  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1))))&0x3f
 50254  	goto __2556
 50255  __2555:
 50256  	if !(fc&0x10 == Tuint32_t(0)) {
 50257  		goto __2557
 50258  	}
 50259  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50260  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(2)
 50261  	goto __2558
 50262  __2557:
 50263  	if !(fc&0x08 == Tuint32_t(0)) {
 50264  		goto __2559
 50265  	}
 50266  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 50267  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(3)
 50268  	goto __2560
 50269  __2559:
 50270  	if !(fc&0x04 == Tuint32_t(0)) {
 50271  		goto __2561
 50272  	}
 50273  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 50274  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(4)
 50275  	goto __2562
 50276  __2561:
 50277  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 50278  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += uintptr(5)
 50279  __2562:
 50280  	;
 50281  __2560:
 50282  	;
 50283  __2558:
 50284  	;
 50285  __2556:
 50286  	;
 50287  __2554:
 50288  	;
 50289  
 50290  	(*Theapframe)(unsafe.Pointer(F)).Feptr = X_pcre2_extuni_8(tls, fc, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject,
 50291  		utf, uintptr(0))
 50292  __2551:
 50293  	;
 50294  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50295  		goto __2563
 50296  	}
 50297  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50298  		goto __2564
 50299  	}
 50300  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50301  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50302  		goto __2565
 50303  	}
 50304  	return -2
 50305  __2565:
 50306  	;
 50307  __2564:
 50308  	;
 50309  __2563:
 50310  	;
 50311  
 50312  	goto __2548
 50313  __2548:
 50314  	i++
 50315  	goto __2547
 50316  	goto __2549
 50317  __2549:
 50318  	;
 50319  
 50320  	// Feptr is now past the end of the maximum run
 50321  
 50322  	if !(reptype == REPTYPE_POS) {
 50323  		goto __2566
 50324  	}
 50325  	goto __11
 50326  __2566:
 50327  	; // No backtracking
 50328  
 50329  	// We use <= Lstart_eptr rather than == Lstart_eptr to detect the start
 50330  	//         of the run while backtracking because the use of \C in UTF mode can
 50331  	//         cause BACKCHAR to move back past Lstart_eptr. This is just palliative;
 50332  	//         the use of \C in UTF mode is fraught with danger.
 50333  
 50334  __2567:
 50335  
 50336  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 50337  		goto __2570
 50338  	}
 50339  	goto __2569
 50340  __2570:
 50341  	; /* At start of char run */
 50342  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 50343  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM220
 50344  	goto MATCH_RECURSE
 50345  L_RM220:
 50346  	;
 50347  
 50348  	if !(rrc != DMATCH_NOMATCH) {
 50349  		goto __2571
 50350  	}
 50351  	rrc = rrc
 50352  	goto RETURN_SWITCH
 50353  __2571:
 50354  	;
 50355  
 50356  	// Backtracking over an extended grapheme cluster involves inspecting
 50357  	//           the previous two characters (if present) to see if a break is
 50358  	//           permitted between them.
 50359  
 50360  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 50361  	if !!(utf != 0) {
 50362  		goto __2572
 50363  	}
 50364  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50365  	goto __2573
 50366  __2572:
 50367  
 50368  __2574:
 50369  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 50370  		goto __2575
 50371  	}
 50372  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 50373  	goto __2574
 50374  __2575:
 50375  	;
 50376  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50377  	if !(fc >= 0xc0) {
 50378  		goto __2576
 50379  	}
 50380  	if !(fc&0x20 == Tuint32_t(0)) {
 50381  		goto __2577
 50382  	}
 50383  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50384  	goto __2578
 50385  __2577:
 50386  	if !(fc&0x10 == Tuint32_t(0)) {
 50387  		goto __2579
 50388  	}
 50389  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 50390  	goto __2580
 50391  __2579:
 50392  	if !(fc&0x08 == Tuint32_t(0)) {
 50393  		goto __2581
 50394  	}
 50395  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 50396  	goto __2582
 50397  __2581:
 50398  	if !(fc&0x04 == Tuint32_t(0)) {
 50399  		goto __2583
 50400  	}
 50401  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 50402  	goto __2584
 50403  __2583:
 50404  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 50405  __2584:
 50406  	;
 50407  __2582:
 50408  	;
 50409  __2580:
 50410  	;
 50411  __2578:
 50412  	;
 50413  __2576:
 50414  	;
 50415  
 50416  __2573:
 50417  	;
 50418  	rgb = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fgbprop)
 50419  
 50420  __2585:
 50421  
 50422  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 50423  		goto __2588
 50424  	}
 50425  	goto __2587
 50426  __2588:
 50427  	; // At start of char run
 50428  	fptr = (*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr(1)
 50429  	if !!(utf != 0) {
 50430  		goto __2589
 50431  	}
 50432  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr)))
 50433  	goto __2590
 50434  __2589:
 50435  
 50436  __2591:
 50437  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr)))&0xc0 == 0x80) {
 50438  		goto __2592
 50439  	}
 50440  	fptr--
 50441  	goto __2591
 50442  __2592:
 50443  	;
 50444  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr)))
 50445  	if !(fc >= 0xc0) {
 50446  		goto __2593
 50447  	}
 50448  	if !(fc&0x20 == Tuint32_t(0)) {
 50449  		goto __2594
 50450  	}
 50451  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f
 50452  	goto __2595
 50453  __2594:
 50454  	if !(fc&0x10 == Tuint32_t(0)) {
 50455  		goto __2596
 50456  	}
 50457  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 2)))&0x3f
 50458  	goto __2597
 50459  __2596:
 50460  	if !(fc&0x08 == Tuint32_t(0)) {
 50461  		goto __2598
 50462  	}
 50463  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 3)))&0x3f
 50464  	goto __2599
 50465  __2598:
 50466  	if !(fc&0x04 == Tuint32_t(0)) {
 50467  		goto __2600
 50468  	}
 50469  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 4)))&0x3f
 50470  	goto __2601
 50471  __2600:
 50472  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(fptr + 5)))&0x3f
 50473  __2601:
 50474  	;
 50475  __2599:
 50476  	;
 50477  __2597:
 50478  	;
 50479  __2595:
 50480  	;
 50481  __2593:
 50482  	;
 50483  
 50484  __2590:
 50485  	;
 50486  	lgb = int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fgbprop)
 50487  	if !(X_pcre2_ucp_gbtable_8[lgb]&(uint32(1)<<rgb) == Tuint32_t(0)) {
 50488  		goto __2602
 50489  	}
 50490  	goto __2587
 50491  __2602:
 50492  	;
 50493  	(*Theapframe)(unsafe.Pointer(F)).Feptr = fptr
 50494  	rgb = lgb
 50495  	goto __2586
 50496  __2586:
 50497  	goto __2585
 50498  	goto __2587
 50499  __2587:
 50500  	;
 50501  	goto __2568
 50502  __2568:
 50503  	goto __2567
 50504  	goto __2569
 50505  __2569:
 50506  	;
 50507  	goto __2546
 50508  __2545:
 50509  
 50510  	if !(utf != 0) {
 50511  		goto __2603
 50512  	}
 50513  
 50514  	switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) {
 50515  	case OP_ANY:
 50516  		goto __2606
 50517  
 50518  	case OP_ALLANY:
 50519  		goto __2607
 50520  
 50521  	// The "byte" (i.e. "code unit") case is the same as non-UTF
 50522  
 50523  	case OP_ANYBYTE:
 50524  		goto __2608
 50525  
 50526  	case OP_ANYNL:
 50527  		goto __2609
 50528  
 50529  	case OP_NOT_HSPACE:
 50530  		goto __2610
 50531  	case OP_HSPACE:
 50532  		goto __2611
 50533  
 50534  	case OP_NOT_VSPACE:
 50535  		goto __2612
 50536  	case OP_VSPACE:
 50537  		goto __2613
 50538  
 50539  	case OP_NOT_DIGIT:
 50540  		goto __2614
 50541  
 50542  	case OP_DIGIT:
 50543  		goto __2615
 50544  
 50545  	case OP_NOT_WHITESPACE:
 50546  		goto __2616
 50547  
 50548  	case OP_WHITESPACE:
 50549  		goto __2617
 50550  
 50551  	case OP_NOT_WORDCHAR:
 50552  		goto __2618
 50553  
 50554  	case OP_WORDCHAR:
 50555  		goto __2619
 50556  
 50557  	default:
 50558  		goto __2620
 50559  	}
 50560  	goto __2605
 50561  
 50562  __2606:
 50563  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 50564  __2621:
 50565  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 50566  		goto __2623
 50567  	}
 50568  
 50569  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50570  		goto __2624
 50571  	}
 50572  
 50573  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50574  		goto __2625
 50575  	}
 50576  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50577  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50578  		goto __2626
 50579  	}
 50580  	return -2
 50581  __2626:
 50582  	;
 50583  __2625:
 50584  	;
 50585  
 50586  	goto __2623
 50587  __2624:
 50588  	;
 50589  	if !(func() int32 {
 50590  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 50591  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 50592  		}
 50593  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 50594  	}() != 0) {
 50595  		goto __2627
 50596  	}
 50597  	goto __2623
 50598  __2627:
 50599  	;
 50600  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 50601  		goto __2628
 50602  	}
 50603  
 50604  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50605  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50606  		goto __2629
 50607  	}
 50608  	return -2
 50609  __2629:
 50610  	;
 50611  __2628:
 50612  	;
 50613  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50614  __2630:
 50615  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 50616  		goto __2631
 50617  	}
 50618  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50619  	goto __2630
 50620  __2631:
 50621  	;
 50622  	goto __2622
 50623  __2622:
 50624  	i++
 50625  	goto __2621
 50626  	goto __2623
 50627  __2623:
 50628  	;
 50629  	goto __2605
 50630  
 50631  __2607:
 50632  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) < 4294967295) {
 50633  		goto __2632
 50634  	}
 50635  
 50636  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 50637  __2634:
 50638  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 50639  		goto __2636
 50640  	}
 50641  
 50642  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50643  		goto __2637
 50644  	}
 50645  
 50646  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50647  		goto __2638
 50648  	}
 50649  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50650  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50651  		goto __2639
 50652  	}
 50653  	return -2
 50654  __2639:
 50655  	;
 50656  __2638:
 50657  	;
 50658  
 50659  	goto __2636
 50660  __2637:
 50661  	;
 50662  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50663  __2640:
 50664  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 50665  		goto __2641
 50666  	}
 50667  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50668  	goto __2640
 50669  __2641:
 50670  	;
 50671  	goto __2635
 50672  __2635:
 50673  	i++
 50674  	goto __2634
 50675  	goto __2636
 50676  __2636:
 50677  	;
 50678  	goto __2633
 50679  __2632:
 50680  
 50681  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject // Unlimited UTF-8 repeat
 50682  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50683  		goto __2642
 50684  	}
 50685  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50686  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50687  		goto __2643
 50688  	}
 50689  	return -2
 50690  __2643:
 50691  	;
 50692  __2642:
 50693  	;
 50694  
 50695  __2633:
 50696  	;
 50697  	goto __2605
 50698  
 50699  	// The "byte" (i.e. "code unit") case is the same as non-UTF
 50700  
 50701  __2608:
 50702  	fc = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) - *(*Tuint32_t)(unsafe.Pointer(F + 56))
 50703  	if !(fc > Tuint32_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64((*Theapframe)(unsafe.Pointer(F)).Feptr))/1)) {
 50704  		goto __2644
 50705  	}
 50706  
 50707  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 50708  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50709  		goto __2646
 50710  	}
 50711  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50712  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50713  		goto __2647
 50714  	}
 50715  	return -2
 50716  __2647:
 50717  	;
 50718  __2646:
 50719  	;
 50720  
 50721  	goto __2645
 50722  __2644:
 50723  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(fc)
 50724  __2645:
 50725  	;
 50726  	goto __2605
 50727  
 50728  __2609:
 50729  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 50730  __2648:
 50731  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 50732  		goto __2650
 50733  	}
 50734  
 50735  	len17 = 1
 50736  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50737  		goto __2651
 50738  	}
 50739  
 50740  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50741  		goto __2652
 50742  	}
 50743  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50744  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50745  		goto __2653
 50746  	}
 50747  	return -2
 50748  __2653:
 50749  	;
 50750  __2652:
 50751  	;
 50752  
 50753  	goto __2650
 50754  __2651:
 50755  	;
 50756  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50757  	if !(fc >= 0xc0) {
 50758  		goto __2654
 50759  	}
 50760  	if !(fc&0x20 == Tuint32_t(0)) {
 50761  		goto __2655
 50762  	}
 50763  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50764  	len17++
 50765  	goto __2656
 50766  __2655:
 50767  	if !(fc&0x10 == Tuint32_t(0)) {
 50768  		goto __2657
 50769  	}
 50770  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 50771  	len17 = len17 + 2
 50772  	goto __2658
 50773  __2657:
 50774  	if !(fc&0x08 == Tuint32_t(0)) {
 50775  		goto __2659
 50776  	}
 50777  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 50778  	len17 = len17 + 3
 50779  	goto __2660
 50780  __2659:
 50781  	if !(fc&0x04 == Tuint32_t(0)) {
 50782  		goto __2661
 50783  	}
 50784  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 50785  	len17 = len17 + 4
 50786  	goto __2662
 50787  __2661:
 50788  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 50789  	len17 = len17 + 5
 50790  __2662:
 50791  	;
 50792  __2660:
 50793  	;
 50794  __2658:
 50795  	;
 50796  __2656:
 50797  	;
 50798  __2654:
 50799  	;
 50800  
 50801  	if !(fc == Tuint32_t('\015')) {
 50802  		goto __2663
 50803  	}
 50804  
 50805  	if !(libc.PreIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50806  		goto __2665
 50807  	}
 50808  	goto __2650
 50809  __2665:
 50810  	;
 50811  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 50812  		goto __2666
 50813  	}
 50814  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 50815  __2666:
 50816  	;
 50817  	goto __2664
 50818  __2663:
 50819  
 50820  	if !(fc != Tuint32_t('\012') && (int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF || fc != Tuint32_t('\013') && fc != Tuint32_t('\014') && fc != Tuint32_t(uint8('\x85')) &&
 50821  		fc != Tuint32_t(0x2028) && fc != Tuint32_t(0x2029))) {
 50822  		goto __2667
 50823  	}
 50824  	goto __2650
 50825  __2667:
 50826  	;
 50827  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len17)
 50828  __2664:
 50829  	;
 50830  	goto __2649
 50831  __2649:
 50832  	i++
 50833  	goto __2648
 50834  	goto __2650
 50835  __2650:
 50836  	;
 50837  	goto __2605
 50838  
 50839  __2610:
 50840  __2611:
 50841  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 50842  __2668:
 50843  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 50844  		goto __2670
 50845  	}
 50846  
 50847  	len18 = 1
 50848  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 50849  		goto __2671
 50850  	}
 50851  
 50852  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 50853  		goto __2672
 50854  	}
 50855  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 50856  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 50857  		goto __2673
 50858  	}
 50859  	return -2
 50860  __2673:
 50861  	;
 50862  __2672:
 50863  	;
 50864  
 50865  	goto __2670
 50866  __2671:
 50867  	;
 50868  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 50869  	if !(fc >= 0xc0) {
 50870  		goto __2674
 50871  	}
 50872  	if !(fc&0x20 == Tuint32_t(0)) {
 50873  		goto __2675
 50874  	}
 50875  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 50876  	len18++
 50877  	goto __2676
 50878  __2675:
 50879  	if !(fc&0x10 == Tuint32_t(0)) {
 50880  		goto __2677
 50881  	}
 50882  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 50883  	len18 = len18 + 2
 50884  	goto __2678
 50885  __2677:
 50886  	if !(fc&0x08 == Tuint32_t(0)) {
 50887  		goto __2679
 50888  	}
 50889  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 50890  	len18 = len18 + 3
 50891  	goto __2680
 50892  __2679:
 50893  	if !(fc&0x04 == Tuint32_t(0)) {
 50894  		goto __2681
 50895  	}
 50896  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 50897  	len18 = len18 + 4
 50898  	goto __2682
 50899  __2681:
 50900  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 50901  	len18 = len18 + 5
 50902  __2682:
 50903  	;
 50904  __2680:
 50905  	;
 50906  __2678:
 50907  	;
 50908  __2676:
 50909  	;
 50910  __2674:
 50911  	;
 50912  
 50913  	switch fc {
 50914  	case Tuint32_t('\011'):
 50915  		goto __2684
 50916  	case Tuint32_t('\040'):
 50917  		goto __2685
 50918  	case Tuint32_t(uint8('\xa0')):
 50919  		goto __2686
 50920  	case Tuint32_t(0x1680):
 50921  		goto __2687 /* OGHAM SPACE MARK */
 50922  	case Tuint32_t(0x180e):
 50923  		goto __2688 /* MONGOLIAN VOWEL SEPARATOR */
 50924  	case Tuint32_t(0x2000):
 50925  		goto __2689 /* EN QUAD */
 50926  	case Tuint32_t(0x2001):
 50927  		goto __2690 /* EM QUAD */
 50928  	case Tuint32_t(0x2002):
 50929  		goto __2691 /* EN SPACE */
 50930  	case Tuint32_t(0x2003):
 50931  		goto __2692 /* EM SPACE */
 50932  	case Tuint32_t(0x2004):
 50933  		goto __2693 /* THREE-PER-EM SPACE */
 50934  	case Tuint32_t(0x2005):
 50935  		goto __2694 /* FOUR-PER-EM SPACE */
 50936  	case Tuint32_t(0x2006):
 50937  		goto __2695 /* SIX-PER-EM SPACE */
 50938  	case Tuint32_t(0x2007):
 50939  		goto __2696 /* FIGURE SPACE */
 50940  	case Tuint32_t(0x2008):
 50941  		goto __2697 /* PUNCTUATION SPACE */
 50942  	case Tuint32_t(0x2009):
 50943  		goto __2698 /* THIN SPACE */
 50944  	case Tuint32_t(0x200A):
 50945  		goto __2699 /* HAIR SPACE */
 50946  	case Tuint32_t(0x202f):
 50947  		goto __2700 /* NARROW NO-BREAK SPACE */
 50948  	case Tuint32_t(0x205f):
 50949  		goto __2701 /* MEDIUM MATHEMATICAL SPACE */
 50950  	case Tuint32_t(0x3000):
 50951  		goto __2702
 50952  	default:
 50953  		goto __2703
 50954  	}
 50955  	goto __2683
 50956  
 50957  __2684:
 50958  __2685:
 50959  __2686:
 50960  __2687: /* OGHAM SPACE MARK */
 50961  __2688: /* MONGOLIAN VOWEL SEPARATOR */
 50962  __2689: /* EN QUAD */
 50963  __2690: /* EM QUAD */
 50964  __2691: /* EN SPACE */
 50965  __2692: /* EM SPACE */
 50966  __2693: /* THREE-PER-EM SPACE */
 50967  __2694: /* FOUR-PER-EM SPACE */
 50968  __2695: /* SIX-PER-EM SPACE */
 50969  __2696: /* FIGURE SPACE */
 50970  __2697: /* PUNCTUATION SPACE */
 50971  __2698: /* THIN SPACE */
 50972  __2699: /* HAIR SPACE */
 50973  __2700: /* NARROW NO-BREAK SPACE */
 50974  __2701: /* MEDIUM MATHEMATICAL SPACE */
 50975  __2702:
 50976  	gotspace = DTRUE
 50977  	goto __2683
 50978  __2703:
 50979  	gotspace = DFALSE
 50980  	goto __2683
 50981  __2683:
 50982  	;
 50983  	if !(gotspace == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOT_HSPACE)) {
 50984  		goto __2704
 50985  	}
 50986  	goto __2670
 50987  __2704:
 50988  	;
 50989  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len18)
 50990  	goto __2669
 50991  __2669:
 50992  	i++
 50993  	goto __2668
 50994  	goto __2670
 50995  __2670:
 50996  	;
 50997  	goto __2605
 50998  
 50999  __2612:
 51000  __2613:
 51001  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51002  __2705:
 51003  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51004  		goto __2707
 51005  	}
 51006  
 51007  	len19 = 1
 51008  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51009  		goto __2708
 51010  	}
 51011  
 51012  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51013  		goto __2709
 51014  	}
 51015  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51016  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51017  		goto __2710
 51018  	}
 51019  	return -2
 51020  __2710:
 51021  	;
 51022  __2709:
 51023  	;
 51024  
 51025  	goto __2707
 51026  __2708:
 51027  	;
 51028  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51029  	if !(fc >= 0xc0) {
 51030  		goto __2711
 51031  	}
 51032  	if !(fc&0x20 == Tuint32_t(0)) {
 51033  		goto __2712
 51034  	}
 51035  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51036  	len19++
 51037  	goto __2713
 51038  __2712:
 51039  	if !(fc&0x10 == Tuint32_t(0)) {
 51040  		goto __2714
 51041  	}
 51042  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 51043  	len19 = len19 + 2
 51044  	goto __2715
 51045  __2714:
 51046  	if !(fc&0x08 == Tuint32_t(0)) {
 51047  		goto __2716
 51048  	}
 51049  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 51050  	len19 = len19 + 3
 51051  	goto __2717
 51052  __2716:
 51053  	if !(fc&0x04 == Tuint32_t(0)) {
 51054  		goto __2718
 51055  	}
 51056  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 51057  	len19 = len19 + 4
 51058  	goto __2719
 51059  __2718:
 51060  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 51061  	len19 = len19 + 5
 51062  __2719:
 51063  	;
 51064  __2717:
 51065  	;
 51066  __2715:
 51067  	;
 51068  __2713:
 51069  	;
 51070  __2711:
 51071  	;
 51072  
 51073  	switch fc {
 51074  	case Tuint32_t('\012'):
 51075  		goto __2721
 51076  	case Tuint32_t('\013'):
 51077  		goto __2722
 51078  	case Tuint32_t('\014'):
 51079  		goto __2723
 51080  	case Tuint32_t('\015'):
 51081  		goto __2724
 51082  	case Tuint32_t(uint8('\x85')):
 51083  		goto __2725
 51084  	case Tuint32_t(0x2028):
 51085  		goto __2726 /* LINE SEPARATOR */
 51086  	case Tuint32_t(0x2029):
 51087  		goto __2727
 51088  	default:
 51089  		goto __2728
 51090  	}
 51091  	goto __2720
 51092  
 51093  __2721:
 51094  __2722:
 51095  __2723:
 51096  __2724:
 51097  __2725:
 51098  __2726: /* LINE SEPARATOR */
 51099  __2727:
 51100  	gotspace1 = DTRUE
 51101  	goto __2720
 51102  __2728:
 51103  	gotspace1 = DFALSE
 51104  	goto __2720
 51105  __2720:
 51106  	;
 51107  	if !(gotspace1 == libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_NOT_VSPACE)) {
 51108  		goto __2729
 51109  	}
 51110  	goto __2707
 51111  __2729:
 51112  	;
 51113  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len19)
 51114  	goto __2706
 51115  __2706:
 51116  	i++
 51117  	goto __2705
 51118  	goto __2707
 51119  __2707:
 51120  	;
 51121  	goto __2605
 51122  
 51123  __2614:
 51124  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51125  __2730:
 51126  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51127  		goto __2732
 51128  	}
 51129  
 51130  	len20 = 1
 51131  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51132  		goto __2733
 51133  	}
 51134  
 51135  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51136  		goto __2734
 51137  	}
 51138  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51139  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51140  		goto __2735
 51141  	}
 51142  	return -2
 51143  __2735:
 51144  	;
 51145  __2734:
 51146  	;
 51147  
 51148  	goto __2732
 51149  __2733:
 51150  	;
 51151  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51152  	if !(fc >= 0xc0) {
 51153  		goto __2736
 51154  	}
 51155  	if !(fc&0x20 == Tuint32_t(0)) {
 51156  		goto __2737
 51157  	}
 51158  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51159  	len20++
 51160  	goto __2738
 51161  __2737:
 51162  	if !(fc&0x10 == Tuint32_t(0)) {
 51163  		goto __2739
 51164  	}
 51165  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 51166  	len20 = len20 + 2
 51167  	goto __2740
 51168  __2739:
 51169  	if !(fc&0x08 == Tuint32_t(0)) {
 51170  		goto __2741
 51171  	}
 51172  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 51173  	len20 = len20 + 3
 51174  	goto __2742
 51175  __2741:
 51176  	if !(fc&0x04 == Tuint32_t(0)) {
 51177  		goto __2743
 51178  	}
 51179  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 51180  	len20 = len20 + 4
 51181  	goto __2744
 51182  __2743:
 51183  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 51184  	len20 = len20 + 5
 51185  __2744:
 51186  	;
 51187  __2742:
 51188  	;
 51189  __2740:
 51190  	;
 51191  __2738:
 51192  	;
 51193  __2736:
 51194  	;
 51195  
 51196  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit != 0) {
 51197  		goto __2745
 51198  	}
 51199  	goto __2732
 51200  __2745:
 51201  	;
 51202  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len20)
 51203  	goto __2731
 51204  __2731:
 51205  	i++
 51206  	goto __2730
 51207  	goto __2732
 51208  __2732:
 51209  	;
 51210  	goto __2605
 51211  
 51212  __2615:
 51213  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51214  __2746:
 51215  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51216  		goto __2748
 51217  	}
 51218  
 51219  	len21 = 1
 51220  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51221  		goto __2749
 51222  	}
 51223  
 51224  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51225  		goto __2750
 51226  	}
 51227  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51228  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51229  		goto __2751
 51230  	}
 51231  	return -2
 51232  __2751:
 51233  	;
 51234  __2750:
 51235  	;
 51236  
 51237  	goto __2748
 51238  __2749:
 51239  	;
 51240  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51241  	if !(fc >= 0xc0) {
 51242  		goto __2752
 51243  	}
 51244  	if !(fc&0x20 == Tuint32_t(0)) {
 51245  		goto __2753
 51246  	}
 51247  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51248  	len21++
 51249  	goto __2754
 51250  __2753:
 51251  	if !(fc&0x10 == Tuint32_t(0)) {
 51252  		goto __2755
 51253  	}
 51254  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 51255  	len21 = len21 + 2
 51256  	goto __2756
 51257  __2755:
 51258  	if !(fc&0x08 == Tuint32_t(0)) {
 51259  		goto __2757
 51260  	}
 51261  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 51262  	len21 = len21 + 3
 51263  	goto __2758
 51264  __2757:
 51265  	if !(fc&0x04 == Tuint32_t(0)) {
 51266  		goto __2759
 51267  	}
 51268  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 51269  	len21 = len21 + 4
 51270  	goto __2760
 51271  __2759:
 51272  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 51273  	len21 = len21 + 5
 51274  __2760:
 51275  	;
 51276  __2758:
 51277  	;
 51278  __2756:
 51279  	;
 51280  __2754:
 51281  	;
 51282  __2752:
 51283  	;
 51284  
 51285  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_digit == 0) {
 51286  		goto __2761
 51287  	}
 51288  	goto __2748
 51289  __2761:
 51290  	;
 51291  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len21)
 51292  	goto __2747
 51293  __2747:
 51294  	i++
 51295  	goto __2746
 51296  	goto __2748
 51297  __2748:
 51298  	;
 51299  	goto __2605
 51300  
 51301  __2616:
 51302  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51303  __2762:
 51304  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51305  		goto __2764
 51306  	}
 51307  
 51308  	len22 = 1
 51309  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51310  		goto __2765
 51311  	}
 51312  
 51313  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51314  		goto __2766
 51315  	}
 51316  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51317  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51318  		goto __2767
 51319  	}
 51320  	return -2
 51321  __2767:
 51322  	;
 51323  __2766:
 51324  	;
 51325  
 51326  	goto __2764
 51327  __2765:
 51328  	;
 51329  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51330  	if !(fc >= 0xc0) {
 51331  		goto __2768
 51332  	}
 51333  	if !(fc&0x20 == Tuint32_t(0)) {
 51334  		goto __2769
 51335  	}
 51336  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51337  	len22++
 51338  	goto __2770
 51339  __2769:
 51340  	if !(fc&0x10 == Tuint32_t(0)) {
 51341  		goto __2771
 51342  	}
 51343  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 51344  	len22 = len22 + 2
 51345  	goto __2772
 51346  __2771:
 51347  	if !(fc&0x08 == Tuint32_t(0)) {
 51348  		goto __2773
 51349  	}
 51350  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 51351  	len22 = len22 + 3
 51352  	goto __2774
 51353  __2773:
 51354  	if !(fc&0x04 == Tuint32_t(0)) {
 51355  		goto __2775
 51356  	}
 51357  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 51358  	len22 = len22 + 4
 51359  	goto __2776
 51360  __2775:
 51361  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 51362  	len22 = len22 + 5
 51363  __2776:
 51364  	;
 51365  __2774:
 51366  	;
 51367  __2772:
 51368  	;
 51369  __2770:
 51370  	;
 51371  __2768:
 51372  	;
 51373  
 51374  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space != 0) {
 51375  		goto __2777
 51376  	}
 51377  	goto __2764
 51378  __2777:
 51379  	;
 51380  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len22)
 51381  	goto __2763
 51382  __2763:
 51383  	i++
 51384  	goto __2762
 51385  	goto __2764
 51386  __2764:
 51387  	;
 51388  	goto __2605
 51389  
 51390  __2617:
 51391  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51392  __2778:
 51393  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51394  		goto __2780
 51395  	}
 51396  
 51397  	len23 = 1
 51398  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51399  		goto __2781
 51400  	}
 51401  
 51402  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51403  		goto __2782
 51404  	}
 51405  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51406  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51407  		goto __2783
 51408  	}
 51409  	return -2
 51410  __2783:
 51411  	;
 51412  __2782:
 51413  	;
 51414  
 51415  	goto __2780
 51416  __2781:
 51417  	;
 51418  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51419  	if !(fc >= 0xc0) {
 51420  		goto __2784
 51421  	}
 51422  	if !(fc&0x20 == Tuint32_t(0)) {
 51423  		goto __2785
 51424  	}
 51425  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51426  	len23++
 51427  	goto __2786
 51428  __2785:
 51429  	if !(fc&0x10 == Tuint32_t(0)) {
 51430  		goto __2787
 51431  	}
 51432  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 51433  	len23 = len23 + 2
 51434  	goto __2788
 51435  __2787:
 51436  	if !(fc&0x08 == Tuint32_t(0)) {
 51437  		goto __2789
 51438  	}
 51439  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 51440  	len23 = len23 + 3
 51441  	goto __2790
 51442  __2789:
 51443  	if !(fc&0x04 == Tuint32_t(0)) {
 51444  		goto __2791
 51445  	}
 51446  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 51447  	len23 = len23 + 4
 51448  	goto __2792
 51449  __2791:
 51450  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 51451  	len23 = len23 + 5
 51452  __2792:
 51453  	;
 51454  __2790:
 51455  	;
 51456  __2788:
 51457  	;
 51458  __2786:
 51459  	;
 51460  __2784:
 51461  	;
 51462  
 51463  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_space == 0) {
 51464  		goto __2793
 51465  	}
 51466  	goto __2780
 51467  __2793:
 51468  	;
 51469  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len23)
 51470  	goto __2779
 51471  __2779:
 51472  	i++
 51473  	goto __2778
 51474  	goto __2780
 51475  __2780:
 51476  	;
 51477  	goto __2605
 51478  
 51479  __2618:
 51480  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51481  __2794:
 51482  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51483  		goto __2796
 51484  	}
 51485  
 51486  	len24 = 1
 51487  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51488  		goto __2797
 51489  	}
 51490  
 51491  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51492  		goto __2798
 51493  	}
 51494  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51495  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51496  		goto __2799
 51497  	}
 51498  	return -2
 51499  __2799:
 51500  	;
 51501  __2798:
 51502  	;
 51503  
 51504  	goto __2796
 51505  __2797:
 51506  	;
 51507  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51508  	if !(fc >= 0xc0) {
 51509  		goto __2800
 51510  	}
 51511  	if !(fc&0x20 == Tuint32_t(0)) {
 51512  		goto __2801
 51513  	}
 51514  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51515  	len24++
 51516  	goto __2802
 51517  __2801:
 51518  	if !(fc&0x10 == Tuint32_t(0)) {
 51519  		goto __2803
 51520  	}
 51521  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 51522  	len24 = len24 + 2
 51523  	goto __2804
 51524  __2803:
 51525  	if !(fc&0x08 == Tuint32_t(0)) {
 51526  		goto __2805
 51527  	}
 51528  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 51529  	len24 = len24 + 3
 51530  	goto __2806
 51531  __2805:
 51532  	if !(fc&0x04 == Tuint32_t(0)) {
 51533  		goto __2807
 51534  	}
 51535  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 51536  	len24 = len24 + 4
 51537  	goto __2808
 51538  __2807:
 51539  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 51540  	len24 = len24 + 5
 51541  __2808:
 51542  	;
 51543  __2806:
 51544  	;
 51545  __2804:
 51546  	;
 51547  __2802:
 51548  	;
 51549  __2800:
 51550  	;
 51551  
 51552  	if !(fc < Tuint32_t(256) && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0) {
 51553  		goto __2809
 51554  	}
 51555  	goto __2796
 51556  __2809:
 51557  	;
 51558  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len24)
 51559  	goto __2795
 51560  __2795:
 51561  	i++
 51562  	goto __2794
 51563  	goto __2796
 51564  __2796:
 51565  	;
 51566  	goto __2605
 51567  
 51568  __2619:
 51569  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51570  __2810:
 51571  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51572  		goto __2812
 51573  	}
 51574  
 51575  	len25 = 1
 51576  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51577  		goto __2813
 51578  	}
 51579  
 51580  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51581  		goto __2814
 51582  	}
 51583  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51584  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51585  		goto __2815
 51586  	}
 51587  	return -2
 51588  __2815:
 51589  	;
 51590  __2814:
 51591  	;
 51592  
 51593  	goto __2812
 51594  __2813:
 51595  	;
 51596  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51597  	if !(fc >= 0xc0) {
 51598  		goto __2816
 51599  	}
 51600  	if !(fc&0x20 == Tuint32_t(0)) {
 51601  		goto __2817
 51602  	}
 51603  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 51604  	len25++
 51605  	goto __2818
 51606  __2817:
 51607  	if !(fc&0x10 == Tuint32_t(0)) {
 51608  		goto __2819
 51609  	}
 51610  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 51611  	len25 = len25 + 2
 51612  	goto __2820
 51613  __2819:
 51614  	if !(fc&0x08 == Tuint32_t(0)) {
 51615  		goto __2821
 51616  	}
 51617  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 51618  	len25 = len25 + 3
 51619  	goto __2822
 51620  __2821:
 51621  	if !(fc&0x04 == Tuint32_t(0)) {
 51622  		goto __2823
 51623  	}
 51624  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 51625  	len25 = len25 + 4
 51626  	goto __2824
 51627  __2823:
 51628  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 51629  	len25 = len25 + 5
 51630  __2824:
 51631  	;
 51632  __2822:
 51633  	;
 51634  __2820:
 51635  	;
 51636  __2818:
 51637  	;
 51638  __2816:
 51639  	;
 51640  
 51641  	if !(fc >= Tuint32_t(256) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word == 0) {
 51642  		goto __2825
 51643  	}
 51644  	goto __2812
 51645  __2825:
 51646  	;
 51647  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(len25)
 51648  	goto __2811
 51649  __2811:
 51650  	i++
 51651  	goto __2810
 51652  	goto __2812
 51653  __2812:
 51654  	;
 51655  	goto __2605
 51656  
 51657  __2620:
 51658  	return -44
 51659  __2605:
 51660  	;
 51661  
 51662  	if !(reptype == REPTYPE_POS) {
 51663  		goto __2826
 51664  	}
 51665  	goto __11
 51666  __2826:
 51667  	; // No backtracking
 51668  
 51669  	// After \C in UTF mode, Lstart_eptr might be in the middle of a
 51670  	//         Unicode character. Use <= Lstart_eptr to ensure backtracking doesn't go
 51671  	//         too far.
 51672  
 51673  __2827:
 51674  
 51675  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 51676  		goto __2830
 51677  	}
 51678  	goto __2829
 51679  __2830:
 51680  	;
 51681  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 51682  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM221
 51683  	goto MATCH_RECURSE
 51684  L_RM221:
 51685  	;
 51686  
 51687  	if !(rrc != DMATCH_NOMATCH) {
 51688  		goto __2831
 51689  	}
 51690  	rrc = rrc
 51691  	goto RETURN_SWITCH
 51692  __2831:
 51693  	;
 51694  
 51695  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 51696  __2832:
 51697  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 51698  		goto __2833
 51699  	}
 51700  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 51701  	goto __2832
 51702  __2833:
 51703  	;
 51704  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_ANYNL && (*Theapframe)(unsafe.Pointer(F)).Feptr > *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr(1)))) == '\015') {
 51705  		goto __2834
 51706  	}
 51707  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 51708  __2834:
 51709  	;
 51710  	goto __2828
 51711  __2828:
 51712  	goto __2827
 51713  	goto __2829
 51714  __2829:
 51715  	;
 51716  	goto __2604
 51717  __2603:
 51718  
 51719  	/* Not UTF mode */
 51720  
 51721  	switch *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) {
 51722  	case OP_ANY:
 51723  		goto __2836
 51724  
 51725  	case OP_ALLANY:
 51726  		goto __2837
 51727  	case OP_ANYBYTE:
 51728  		goto __2838
 51729  
 51730  	case OP_ANYNL:
 51731  		goto __2839
 51732  
 51733  	case OP_NOT_HSPACE:
 51734  		goto __2840
 51735  
 51736  	case OP_HSPACE:
 51737  		goto __2841
 51738  
 51739  	case OP_NOT_VSPACE:
 51740  		goto __2842
 51741  
 51742  	case OP_VSPACE:
 51743  		goto __2843
 51744  
 51745  	case OP_NOT_DIGIT:
 51746  		goto __2844
 51747  
 51748  	case OP_DIGIT:
 51749  		goto __2845
 51750  
 51751  	case OP_NOT_WHITESPACE:
 51752  		goto __2846
 51753  
 51754  	case OP_WHITESPACE:
 51755  		goto __2847
 51756  
 51757  	case OP_NOT_WORDCHAR:
 51758  		goto __2848
 51759  
 51760  	case OP_WORDCHAR:
 51761  		goto __2849
 51762  
 51763  	default:
 51764  		goto __2850
 51765  	}
 51766  	goto __2835
 51767  
 51768  __2836:
 51769  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51770  __2851:
 51771  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51772  		goto __2853
 51773  	}
 51774  
 51775  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51776  		goto __2854
 51777  	}
 51778  
 51779  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51780  		goto __2855
 51781  	}
 51782  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51783  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51784  		goto __2856
 51785  	}
 51786  	return -2
 51787  __2856:
 51788  	;
 51789  __2855:
 51790  	;
 51791  
 51792  	goto __2853
 51793  __2854:
 51794  	;
 51795  	if !(func() int32 {
 51796  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 51797  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 51798  		}
 51799  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 51800  	}() != 0) {
 51801  		goto __2857
 51802  	}
 51803  	goto __2853
 51804  __2857:
 51805  	;
 51806  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 51807  		goto __2858
 51808  	}
 51809  
 51810  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51811  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51812  		goto __2859
 51813  	}
 51814  	return -2
 51815  __2859:
 51816  	;
 51817  __2858:
 51818  	;
 51819  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 51820  	goto __2852
 51821  __2852:
 51822  	i++
 51823  	goto __2851
 51824  	goto __2853
 51825  __2853:
 51826  	;
 51827  	goto __2835
 51828  
 51829  __2837:
 51830  __2838:
 51831  	fc = *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) - *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51832  	if !(fc > Tuint32_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject)-int64((*Theapframe)(unsafe.Pointer(F)).Feptr))/1)) {
 51833  		goto __2860
 51834  	}
 51835  
 51836  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 51837  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51838  		goto __2862
 51839  	}
 51840  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51841  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51842  		goto __2863
 51843  	}
 51844  	return -2
 51845  __2863:
 51846  	;
 51847  __2862:
 51848  	;
 51849  
 51850  	goto __2861
 51851  __2860:
 51852  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(fc)
 51853  __2861:
 51854  	;
 51855  	goto __2835
 51856  
 51857  __2839:
 51858  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51859  __2864:
 51860  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51861  		goto __2866
 51862  	}
 51863  
 51864  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51865  		goto __2867
 51866  	}
 51867  
 51868  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51869  		goto __2868
 51870  	}
 51871  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51872  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51873  		goto __2869
 51874  	}
 51875  	return -2
 51876  __2869:
 51877  	;
 51878  __2868:
 51879  	;
 51880  
 51881  	goto __2866
 51882  __2867:
 51883  	;
 51884  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 51885  	if !(fc == Tuint32_t('\015')) {
 51886  		goto __2870
 51887  	}
 51888  
 51889  	if !(libc.PreIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Feptr, 1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51890  		goto __2872
 51891  	}
 51892  	goto __2866
 51893  __2872:
 51894  	;
 51895  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012') {
 51896  		goto __2873
 51897  	}
 51898  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 51899  __2873:
 51900  	;
 51901  	goto __2871
 51902  __2870:
 51903  
 51904  	if !(fc != Tuint32_t('\012') && (int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention) == DPCRE2_BSR_ANYCRLF || fc != Tuint32_t('\013') && fc != Tuint32_t('\014') && fc != Tuint32_t(uint8('\x85')))) {
 51905  		goto __2874
 51906  	}
 51907  	goto __2866
 51908  __2874:
 51909  	;
 51910  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 51911  __2871:
 51912  	;
 51913  	goto __2865
 51914  __2865:
 51915  	i++
 51916  	goto __2864
 51917  	goto __2866
 51918  __2866:
 51919  	;
 51920  	goto __2835
 51921  
 51922  __2840:
 51923  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51924  __2875:
 51925  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51926  		goto __2877
 51927  	}
 51928  
 51929  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51930  		goto __2878
 51931  	}
 51932  
 51933  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51934  		goto __2879
 51935  	}
 51936  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51937  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51938  		goto __2880
 51939  	}
 51940  	return -2
 51941  __2880:
 51942  	;
 51943  __2879:
 51944  	;
 51945  
 51946  	goto __2877
 51947  __2878:
 51948  	;
 51949  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) {
 51950  	default:
 51951  		goto __2882
 51952  	case '\011':
 51953  		goto __2883
 51954  	case '\040':
 51955  		goto __2884
 51956  	case int32(uint8('\xa0')):
 51957  		goto __2885
 51958  	}
 51959  	goto __2881
 51960  
 51961  __2882:
 51962  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 51963  	goto __2881
 51964  __2883:
 51965  __2884:
 51966  __2885:
 51967  	goto ENDLOOP00
 51968  __2881:
 51969  	;
 51970  	goto __2876
 51971  __2876:
 51972  	i++
 51973  	goto __2875
 51974  	goto __2877
 51975  __2877:
 51976  	;
 51977  ENDLOOP00:
 51978  	goto __2835
 51979  
 51980  __2841:
 51981  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 51982  __2886:
 51983  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 51984  		goto __2888
 51985  	}
 51986  
 51987  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 51988  		goto __2889
 51989  	}
 51990  
 51991  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 51992  		goto __2890
 51993  	}
 51994  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 51995  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 51996  		goto __2891
 51997  	}
 51998  	return -2
 51999  __2891:
 52000  	;
 52001  __2890:
 52002  	;
 52003  
 52004  	goto __2888
 52005  __2889:
 52006  	;
 52007  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) {
 52008  	default:
 52009  		goto __2893
 52010  	case '\011':
 52011  		goto __2894
 52012  	case '\040':
 52013  		goto __2895
 52014  	case int32(uint8('\xa0')):
 52015  		goto __2896
 52016  	}
 52017  	goto __2892
 52018  
 52019  __2893:
 52020  	goto ENDLOOP01
 52021  __2894:
 52022  __2895:
 52023  __2896:
 52024  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52025  	goto __2892
 52026  __2892:
 52027  	;
 52028  	goto __2887
 52029  __2887:
 52030  	i++
 52031  	goto __2886
 52032  	goto __2888
 52033  __2888:
 52034  	;
 52035  ENDLOOP01:
 52036  	goto __2835
 52037  
 52038  __2842:
 52039  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52040  __2897:
 52041  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52042  		goto __2899
 52043  	}
 52044  
 52045  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52046  		goto __2900
 52047  	}
 52048  
 52049  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52050  		goto __2901
 52051  	}
 52052  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52053  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52054  		goto __2902
 52055  	}
 52056  	return -2
 52057  __2902:
 52058  	;
 52059  __2901:
 52060  	;
 52061  
 52062  	goto __2899
 52063  __2900:
 52064  	;
 52065  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) {
 52066  	default:
 52067  		goto __2904
 52068  	case '\012':
 52069  		goto __2905
 52070  	case '\013':
 52071  		goto __2906
 52072  	case '\014':
 52073  		goto __2907
 52074  	case '\015':
 52075  		goto __2908
 52076  	case int32(uint8('\x85')):
 52077  		goto __2909
 52078  	}
 52079  	goto __2903
 52080  
 52081  __2904:
 52082  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52083  	goto __2903
 52084  __2905:
 52085  __2906:
 52086  __2907:
 52087  __2908:
 52088  __2909:
 52089  	goto ENDLOOP02
 52090  __2903:
 52091  	;
 52092  	goto __2898
 52093  __2898:
 52094  	i++
 52095  	goto __2897
 52096  	goto __2899
 52097  __2899:
 52098  	;
 52099  ENDLOOP02:
 52100  	goto __2835
 52101  
 52102  __2843:
 52103  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52104  __2910:
 52105  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52106  		goto __2912
 52107  	}
 52108  
 52109  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52110  		goto __2913
 52111  	}
 52112  
 52113  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52114  		goto __2914
 52115  	}
 52116  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52117  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52118  		goto __2915
 52119  	}
 52120  	return -2
 52121  __2915:
 52122  	;
 52123  __2914:
 52124  	;
 52125  
 52126  	goto __2912
 52127  __2913:
 52128  	;
 52129  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) {
 52130  	default:
 52131  		goto __2917
 52132  	case '\012':
 52133  		goto __2918
 52134  	case '\013':
 52135  		goto __2919
 52136  	case '\014':
 52137  		goto __2920
 52138  	case '\015':
 52139  		goto __2921
 52140  	case int32(uint8('\x85')):
 52141  		goto __2922
 52142  	}
 52143  	goto __2916
 52144  
 52145  __2917:
 52146  	goto ENDLOOP03
 52147  __2918:
 52148  __2919:
 52149  __2920:
 52150  __2921:
 52151  __2922:
 52152  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52153  	goto __2916
 52154  __2916:
 52155  	;
 52156  	goto __2911
 52157  __2911:
 52158  	i++
 52159  	goto __2910
 52160  	goto __2912
 52161  __2912:
 52162  	;
 52163  ENDLOOP03:
 52164  	goto __2835
 52165  
 52166  __2844:
 52167  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52168  __2923:
 52169  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52170  		goto __2925
 52171  	}
 52172  
 52173  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52174  		goto __2926
 52175  	}
 52176  
 52177  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52178  		goto __2927
 52179  	}
 52180  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52181  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52182  		goto __2928
 52183  	}
 52184  	return -2
 52185  __2928:
 52186  	;
 52187  __2927:
 52188  	;
 52189  
 52190  	goto __2925
 52191  __2926:
 52192  	;
 52193  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_digit != 0) {
 52194  		goto __2929
 52195  	}
 52196  	goto __2925
 52197  __2929:
 52198  	;
 52199  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52200  	goto __2924
 52201  __2924:
 52202  	i++
 52203  	goto __2923
 52204  	goto __2925
 52205  __2925:
 52206  	;
 52207  	goto __2835
 52208  
 52209  __2845:
 52210  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52211  __2930:
 52212  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52213  		goto __2932
 52214  	}
 52215  
 52216  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52217  		goto __2933
 52218  	}
 52219  
 52220  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52221  		goto __2934
 52222  	}
 52223  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52224  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52225  		goto __2935
 52226  	}
 52227  	return -2
 52228  __2935:
 52229  	;
 52230  __2934:
 52231  	;
 52232  
 52233  	goto __2932
 52234  __2933:
 52235  	;
 52236  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_digit == 0) {
 52237  		goto __2936
 52238  	}
 52239  	goto __2932
 52240  __2936:
 52241  	;
 52242  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52243  	goto __2931
 52244  __2931:
 52245  	i++
 52246  	goto __2930
 52247  	goto __2932
 52248  __2932:
 52249  	;
 52250  	goto __2835
 52251  
 52252  __2846:
 52253  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52254  __2937:
 52255  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52256  		goto __2939
 52257  	}
 52258  
 52259  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52260  		goto __2940
 52261  	}
 52262  
 52263  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52264  		goto __2941
 52265  	}
 52266  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52267  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52268  		goto __2942
 52269  	}
 52270  	return -2
 52271  __2942:
 52272  	;
 52273  __2941:
 52274  	;
 52275  
 52276  	goto __2939
 52277  __2940:
 52278  	;
 52279  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_space != 0) {
 52280  		goto __2943
 52281  	}
 52282  	goto __2939
 52283  __2943:
 52284  	;
 52285  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52286  	goto __2938
 52287  __2938:
 52288  	i++
 52289  	goto __2937
 52290  	goto __2939
 52291  __2939:
 52292  	;
 52293  	goto __2835
 52294  
 52295  __2847:
 52296  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52297  __2944:
 52298  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52299  		goto __2946
 52300  	}
 52301  
 52302  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52303  		goto __2947
 52304  	}
 52305  
 52306  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52307  		goto __2948
 52308  	}
 52309  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52310  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52311  		goto __2949
 52312  	}
 52313  	return -2
 52314  __2949:
 52315  	;
 52316  __2948:
 52317  	;
 52318  
 52319  	goto __2946
 52320  __2947:
 52321  	;
 52322  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_space == 0) {
 52323  		goto __2950
 52324  	}
 52325  	goto __2946
 52326  __2950:
 52327  	;
 52328  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52329  	goto __2945
 52330  __2945:
 52331  	i++
 52332  	goto __2944
 52333  	goto __2946
 52334  __2946:
 52335  	;
 52336  	goto __2835
 52337  
 52338  __2848:
 52339  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52340  __2951:
 52341  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52342  		goto __2953
 52343  	}
 52344  
 52345  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52346  		goto __2954
 52347  	}
 52348  
 52349  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52350  		goto __2955
 52351  	}
 52352  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52353  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52354  		goto __2956
 52355  	}
 52356  	return -2
 52357  __2956:
 52358  	;
 52359  __2955:
 52360  	;
 52361  
 52362  	goto __2953
 52363  __2954:
 52364  	;
 52365  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_word != 0) {
 52366  		goto __2957
 52367  	}
 52368  	goto __2953
 52369  __2957:
 52370  	;
 52371  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52372  	goto __2952
 52373  __2952:
 52374  	i++
 52375  	goto __2951
 52376  	goto __2953
 52377  __2953:
 52378  	;
 52379  	goto __2835
 52380  
 52381  __2849:
 52382  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52383  __2958:
 52384  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52385  		goto __2960
 52386  	}
 52387  
 52388  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52389  		goto __2961
 52390  	}
 52391  
 52392  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52393  		goto __2962
 52394  	}
 52395  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52396  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52397  		goto __2963
 52398  	}
 52399  	return -2
 52400  __2963:
 52401  	;
 52402  __2962:
 52403  	;
 52404  
 52405  	goto __2960
 52406  __2961:
 52407  	;
 52408  	if !(!(1 != 0) || int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))))))&Dctype_word == 0) {
 52409  		goto __2964
 52410  	}
 52411  	goto __2960
 52412  __2964:
 52413  	;
 52414  	(*Theapframe)(unsafe.Pointer(F)).Feptr++
 52415  	goto __2959
 52416  __2959:
 52417  	i++
 52418  	goto __2958
 52419  	goto __2960
 52420  __2960:
 52421  	;
 52422  	goto __2835
 52423  
 52424  __2850:
 52425  	return -44
 52426  __2835:
 52427  	;
 52428  
 52429  	if !(reptype == REPTYPE_POS) {
 52430  		goto __2965
 52431  	}
 52432  	goto __11
 52433  __2965:
 52434  	; // No backtracking
 52435  
 52436  __2966:
 52437  
 52438  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 52439  		goto __2969
 52440  	}
 52441  	goto __2968
 52442  __2969:
 52443  	;
 52444  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 52445  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM34
 52446  	goto MATCH_RECURSE
 52447  L_RM34:
 52448  	;
 52449  
 52450  	if !(rrc != DMATCH_NOMATCH) {
 52451  		goto __2970
 52452  	}
 52453  	rrc = rrc
 52454  	goto RETURN_SWITCH
 52455  __2970:
 52456  	;
 52457  
 52458  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 52459  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) == OP_ANYNL && (*Theapframe)(unsafe.Pointer(F)).Feptr > *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == '\012' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + libc.UintptrFromInt32(-1)))) == '\015') {
 52460  		goto __2971
 52461  	}
 52462  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 52463  __2971:
 52464  	;
 52465  	goto __2967
 52466  __2967:
 52467  	goto __2966
 52468  	goto __2968
 52469  __2968:
 52470  	;
 52471  __2604:
 52472  	;
 52473  __2546:
 52474  	;
 52475  __2274:
 52476  	;
 52477  __1781:
 52478  	;
 52479  	goto __13 // End of repeat character type processing
 52480  
 52481  	// =====================================================================
 52482  	// Match a back reference, possibly repeatedly. Look past the end of the
 52483  	//     item to see if there is repeat information following. The OP_REF and
 52484  	//     OP_REFI opcodes are used for a reference to a numbered group or to a
 52485  	//     non-duplicated named group. For a duplicated named group, OP_DNREF and
 52486  	//     OP_DNREFI are used. In this case we must scan the list of groups to which
 52487  	//     the name refers, and use the first one that is set.
 52488  
 52489  __107:
 52490  __108:
 52491  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(libc.Bool32(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_DNREFI))
 52492  
 52493  	count = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))))
 52494  	slot = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))*uint32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size))
 52495  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 52496  
 52497  __2972:
 52498  	if !(libc.PostDecInt32(&count, 1) > 0) {
 52499  		goto __2973
 52500  	}
 52501  
 52502  	(*Theapframe)(unsafe.Pointer(F)).Ftemp_size = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1))))<<1 - uint32(2))
 52503  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*8)) != libc.CplUint64(uint64(0))) {
 52504  		goto __2974
 52505  	}
 52506  	goto __2973
 52507  __2974:
 52508  	;
 52509  	slot += TPCRE2_SPTR8((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size)
 52510  	goto __2972
 52511  __2973:
 52512  	;
 52513  
 52514  	goto REF_REPEAT
 52515  
 52516  __109:
 52517  __110:
 52518  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(libc.Bool32(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_REFI))
 52519  	(*Theapframe)(unsafe.Pointer(F)).Ftemp_size = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))<<1 - uint32(2))
 52520  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 52521  
 52522  	// Set up for repetition, or handle the non-repeated case. The maximum and
 52523  	//     minimum must be in the heap frame, but as they are short-term values, we
 52524  	//     use temporary fields.
 52525  
 52526  REF_REPEAT:
 52527  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) {
 52528  	case OP_CRSTAR:
 52529  		goto __2976
 52530  	case OP_CRMINSTAR:
 52531  		goto __2977
 52532  	case OP_CRPLUS:
 52533  		goto __2978
 52534  	case OP_CRMINPLUS:
 52535  		goto __2979
 52536  	case OP_CRQUERY:
 52537  		goto __2980
 52538  	case OP_CRMINQUERY:
 52539  		goto __2981
 52540  
 52541  	case OP_CRRANGE:
 52542  		goto __2982
 52543  	case OP_CRMINRANGE:
 52544  		goto __2983
 52545  
 52546  	default:
 52547  		goto __2984
 52548  	}
 52549  	goto __2975
 52550  
 52551  __2976:
 52552  __2977:
 52553  __2978:
 52554  __2979:
 52555  __2980:
 52556  __2981:
 52557  	fc = Tuint32_t(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) - OP_CRSTAR)
 52558  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = rep_min[fc]
 52559  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = rep_max[fc]
 52560  	reptype = rep_typ[fc]
 52561  	goto __2975
 52562  
 52563  __2982:
 52564  __2983:
 52565  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 52566  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4))))
 52567  	reptype = rep_typ[int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))-OP_CRSTAR]
 52568  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) == Tuint32_t(0)) {
 52569  		goto __2985
 52570  	}
 52571  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = 4294967295
 52572  __2985:
 52573  	; // Max 0 => infinity
 52574  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 52575  	goto __2975
 52576  
 52577  __2984: /* No repeat follows */
 52578  
 52579  	rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp)
 52580  	if !(rrc != 0) {
 52581  		goto __2986
 52582  	}
 52583  
 52584  	if !(rrc > 0) {
 52585  		goto __2987
 52586  	}
 52587  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 52588  __2987:
 52589  	; // Partial match
 52590  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52591  		goto __2988
 52592  	}
 52593  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52594  		goto __2989
 52595  	}
 52596  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52597  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52598  		goto __2990
 52599  	}
 52600  	return -2
 52601  __2990:
 52602  	;
 52603  __2989:
 52604  	;
 52605  __2988:
 52606  	;
 52607  
 52608  	rrc = DMATCH_NOMATCH
 52609  	goto RETURN_SWITCH
 52610  
 52611  __2986:
 52612  	;
 52613  
 52614  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp)))
 52615  	goto __11 // With the main loop
 52616  __2975:
 52617  	;
 52618  
 52619  	// Handle repeated back references. If a set group has length zero, just
 52620  	//     continue with the main loop, because it matches however many times. For an
 52621  	//     unset reference, if the minimum is zero, we can also just continue. We can
 52622  	//     also continue if PCRE2_MATCH_UNSET_BACKREF is set, because this makes unset
 52623  	//     group behave as a zero-length group. For any other unset cases, carrying
 52624  	//     on will result in NOMATCH.
 52625  
 52626  	if !((*Theapframe)(unsafe.Pointer(F)).Ftemp_size < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*8)) != libc.CplUint64(uint64(0))) {
 52627  		goto __2991
 52628  	}
 52629  
 52630  	if !(*(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*8)) == *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size+uint64(1))*8))) {
 52631  		goto __2993
 52632  	}
 52633  	goto __11
 52634  __2993:
 52635  	;
 52636  	goto __2992
 52637  __2991: /* Group is not set */
 52638  
 52639  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == Tuint32_t(0) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_MATCH_UNSET_BACKREF != Tuint32_t(0)) {
 52640  		goto __2994
 52641  	}
 52642  	goto __11
 52643  __2994:
 52644  	;
 52645  __2992:
 52646  	;
 52647  
 52648  	// First, ensure the minimum number of matches are present.
 52649  
 52650  	i = Tuint32_t(1)
 52651  __2995:
 52652  	if !(i <= *(*Tuint32_t)(unsafe.Pointer(F + 56))) {
 52653  		goto __2997
 52654  	}
 52655  
 52656  	rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp+8)
 52657  	if !(rrc != 0) {
 52658  		goto __2998
 52659  	}
 52660  
 52661  	if !(rrc > 0) {
 52662  		goto __2999
 52663  	}
 52664  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 52665  __2999:
 52666  	; // Partial match
 52667  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52668  		goto __3000
 52669  	}
 52670  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52671  		goto __3001
 52672  	}
 52673  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52674  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52675  		goto __3002
 52676  	}
 52677  	return -2
 52678  __3002:
 52679  	;
 52680  __3001:
 52681  	;
 52682  __3000:
 52683  	;
 52684  
 52685  	rrc = DMATCH_NOMATCH
 52686  	goto RETURN_SWITCH
 52687  
 52688  __2998:
 52689  	;
 52690  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 8)))
 52691  	goto __2996
 52692  __2996:
 52693  	i++
 52694  	goto __2995
 52695  	goto __2997
 52696  __2997:
 52697  	;
 52698  
 52699  	// If min = max, we are done. They are not both allowed to be zero.
 52700  
 52701  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56)) == *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52702  		goto __3003
 52703  	}
 52704  	goto __11
 52705  __3003:
 52706  	;
 52707  
 52708  	// If minimizing, keep trying and advancing the pointer.
 52709  
 52710  	if !(reptype == REPTYPE_MIN) {
 52711  		goto __3004
 52712  	}
 52713  
 52714  __3006:
 52715  
 52716  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 52717  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM20
 52718  	goto MATCH_RECURSE
 52719  L_RM20:
 52720  	;
 52721  
 52722  	if !(rrc != DMATCH_NOMATCH) {
 52723  		goto __3009
 52724  	}
 52725  	rrc = rrc
 52726  	goto RETURN_SWITCH
 52727  __3009:
 52728  	;
 52729  
 52730  	if !(libc.PostIncUint32(&*(*Tuint32_t)(unsafe.Pointer(F + 56)), 1) >= *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52731  		goto __3010
 52732  	}
 52733  	rrc = DMATCH_NOMATCH
 52734  	goto RETURN_SWITCH
 52735  __3010:
 52736  	;
 52737  
 52738  	rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp+16)
 52739  	if !(rrc != 0) {
 52740  		goto __3011
 52741  	}
 52742  
 52743  	if !(rrc > 0) {
 52744  		goto __3012
 52745  	}
 52746  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 52747  __3012:
 52748  	; // Partial match
 52749  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 52750  		goto __3013
 52751  	}
 52752  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 52753  		goto __3014
 52754  	}
 52755  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52756  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52757  		goto __3015
 52758  	}
 52759  	return -2
 52760  __3015:
 52761  	;
 52762  __3014:
 52763  	;
 52764  __3013:
 52765  	;
 52766  
 52767  	rrc = DMATCH_NOMATCH
 52768  	goto RETURN_SWITCH
 52769  
 52770  __3011:
 52771  	;
 52772  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 16)))
 52773  	goto __3007
 52774  __3007:
 52775  	goto __3006
 52776  	goto __3008
 52777  __3008:
 52778  	;
 52779  	// Control never gets here
 52780  	goto __3005
 52781  __3004:
 52782  	samelengths = DTRUE
 52783  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr // Starting position
 52784  	(*Theapframe)(unsafe.Pointer(F)).Flength = *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size+uint64(1))*8)) - *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr((*Theapframe)(unsafe.Pointer(F)).Ftemp_size)*8))
 52785  
 52786  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52787  __3016:
 52788  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52789  		goto __3018
 52790  	}
 52791  
 52792  	rrc = match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp+24)
 52793  	if !(rrc != 0) {
 52794  		goto __3019
 52795  	}
 52796  
 52797  	// Can't use CHECK_PARTIAL because we don't want to update Feptr in
 52798  	//           the soft partial matching case.
 52799  
 52800  	if !(rrc > 0 && int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) {
 52801  		goto __3020
 52802  	}
 52803  
 52804  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 52805  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 52806  		goto __3021
 52807  	}
 52808  	return -2
 52809  __3021:
 52810  	;
 52811  __3020:
 52812  	;
 52813  	goto __3018
 52814  __3019:
 52815  	;
 52816  
 52817  	if !(*(*Tsize_t)(unsafe.Pointer(bp + 24)) != (*Theapframe)(unsafe.Pointer(F)).Flength) {
 52818  		goto __3022
 52819  	}
 52820  	samelengths = DFALSE
 52821  __3022:
 52822  	;
 52823  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 24)))
 52824  	goto __3017
 52825  __3017:
 52826  	i++
 52827  	goto __3016
 52828  	goto __3018
 52829  __3018:
 52830  	;
 52831  
 52832  	// If the length matched for each repetition is the same as the length of
 52833  	//       the captured group, we can easily work backwards. This is the normal
 52834  	//       case. However, in caseless UTF-8 mode there are pairs of case-equivalent
 52835  	//       characters whose lengths (in terms of code units) differ. However, this
 52836  	//       is very rare, so we handle it by re-matching fewer and fewer times.
 52837  
 52838  	if !(samelengths != 0) {
 52839  		goto __3023
 52840  	}
 52841  
 52842  __3025:
 52843  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 52844  		goto __3026
 52845  	}
 52846  
 52847  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 52848  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM21
 52849  	goto MATCH_RECURSE
 52850  L_RM21:
 52851  	;
 52852  
 52853  	if !(rrc != DMATCH_NOMATCH) {
 52854  		goto __3027
 52855  	}
 52856  	rrc = rrc
 52857  	goto RETURN_SWITCH
 52858  __3027:
 52859  	;
 52860  
 52861  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) -= TPCRE2_SPTR8((*Theapframe)(unsafe.Pointer(F)).Flength)
 52862  	goto __3025
 52863  __3026:
 52864  	;
 52865  	goto __3024
 52866  __3023:
 52867  
 52868  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = i
 52869  __3028:
 52870  
 52871  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 52872  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM22
 52873  	goto MATCH_RECURSE
 52874  L_RM22:
 52875  	;
 52876  
 52877  	if !(rrc != DMATCH_NOMATCH) {
 52878  		goto __3031
 52879  	}
 52880  	rrc = rrc
 52881  	goto RETURN_SWITCH
 52882  __3031:
 52883  	;
 52884  
 52885  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 52886  		goto __3032
 52887  	}
 52888  	goto __3030
 52889  __3032:
 52890  	; // Failed after minimal repetition
 52891  	(*Theapframe)(unsafe.Pointer(F)).Feptr = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))
 52892  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))--
 52893  	i = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 52894  __3033:
 52895  	if !(i < *(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4))) {
 52896  		goto __3035
 52897  	}
 52898  
 52899  	match_ref(tls, (*Theapframe)(unsafe.Pointer(F)).Ftemp_size, int32(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4))), F, mb, bp+32)
 52900  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp + 32)))
 52901  	goto __3034
 52902  __3034:
 52903  	i++
 52904  	goto __3033
 52905  	goto __3035
 52906  __3035:
 52907  	;
 52908  	goto __3029
 52909  __3029:
 52910  	goto __3028
 52911  	goto __3030
 52912  __3030:
 52913  	;
 52914  __3024:
 52915  	;
 52916  
 52917  	rrc = DMATCH_NOMATCH
 52918  	goto RETURN_SWITCH
 52919  
 52920  __3005:
 52921  	;
 52922  	// Control never gets here
 52923  
 52924  	// =========================================================================
 52925  	//           Opcodes for the start of various parenthesized items
 52926  	// =========================================================================
 52927  
 52928  	// In all cases, if the result of RMATCH() is MATCH_THEN, check whether the
 52929  	//     (*THEN) is within the current branch by comparing the address of OP_THEN
 52930  	//     that is passed back with the end of the branch. If (*THEN) is within the
 52931  	//     current branch, and the branch is one of two or more alternatives (it
 52932  	//     either starts or ends with OP_ALT), we have reached the limit of THEN's
 52933  	//     action, so convert the return code to NOMATCH, which will cause normal
 52934  	//     backtracking to happen from now on. Otherwise, THEN is passed back to an
 52935  	//     outer alternative. This implements Perl's treatment of parenthesized
 52936  	//     groups, where a group not containing | does not affect the current
 52937  	//     alternative, that is, (X) is NOT the same as (X|(*F)).
 52938  
 52939  	// =====================================================================
 52940  	// BRAZERO, BRAMINZERO and SKIPZERO occur just before a non-possessive
 52941  	//     bracket group, indicating that it may occur zero times. It may repeat
 52942  	//     infinitely, or not at all - i.e. it could be ()* or ()? or even (){0} in
 52943  	//     the pattern. Brackets with fixed upper repeat limits are compiled as a
 52944  	//     number of copies, with the optional ones preceded by BRAZERO or BRAMINZERO.
 52945  	//     Possessive groups with possible zero repeats are preceded by BRAPOSZERO.
 52946  
 52947  __111:
 52948  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1)
 52949  	start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))
 52950  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM9
 52951  	goto MATCH_RECURSE
 52952  L_RM9:
 52953  	;
 52954  
 52955  	if !(rrc != DMATCH_NOMATCH) {
 52956  		goto __3036
 52957  	}
 52958  	rrc = rrc
 52959  	goto RETURN_SWITCH
 52960  __3036:
 52961  	;
 52962  
 52963  __3037:
 52964  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 2)))))
 52965  	goto __3038
 52966  __3038:
 52967  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) == OP_ALT {
 52968  		goto __3037
 52969  	}
 52970  	goto __3039
 52971  __3039:
 52972  	;
 52973  	(*Theapframe)(unsafe.Pointer(F)).Fecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(1) + uintptr(DLINK_SIZE)
 52974  	goto __13
 52975  
 52976  __112:
 52977  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1)
 52978  __3040:
 52979  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 2)))))
 52980  	goto __3041
 52981  __3041:
 52982  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) == OP_ALT {
 52983  		goto __3040
 52984  	}
 52985  	goto __3042
 52986  __3042:
 52987  	;
 52988  	start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(1) + uintptr(DLINK_SIZE)
 52989  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM10
 52990  	goto MATCH_RECURSE
 52991  L_RM10:
 52992  	;
 52993  
 52994  	if !(rrc != DMATCH_NOMATCH) {
 52995  		goto __3043
 52996  	}
 52997  	rrc = rrc
 52998  	goto RETURN_SWITCH
 52999  __3043:
 53000  	;
 53001  
 53002  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 53003  	goto __13
 53004  
 53005  __113:
 53006  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 53007  __3044:
 53008  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53009  	goto __3045
 53010  __3045:
 53011  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53012  		goto __3044
 53013  	}
 53014  	goto __3046
 53015  __3046:
 53016  	;
 53017  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53018  	goto __13
 53019  
 53020  	// =====================================================================
 53021  	// Handle possessive brackets with an unlimited repeat. The end of these
 53022  	//     brackets will always be OP_KETRPOS, which returns MATCH_KETRPOS without
 53023  	//     going further in the pattern.
 53024  
 53025  __114:
 53026  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(DTRUE) // Zero repeat is allowed
 53027  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += uintptr(1)
 53028  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CBRAPOS || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_SCBRAPOS) {
 53029  		goto __3047
 53030  	}
 53031  	goto POSSESSIVE_CAPTURE
 53032  __3047:
 53033  	;
 53034  	goto POSSESSIVE_NON_CAPTURE
 53035  
 53036  __115:
 53037  __116:
 53038  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(DFALSE) // Zero repeat not allowed
 53039  
 53040  POSSESSIVE_NON_CAPTURE:
 53041  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_NOCAPTURE // Remembered frame type
 53042  	goto POSSESSIVE_GROUP
 53043  
 53044  __117:
 53045  __118:
 53046  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) = Tuint32_t(DFALSE) // Zero repeat not allowed
 53047  
 53048  POSSESSIVE_CAPTURE:
 53049  	number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4))))
 53050  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_CAPTURE | number // Remembered frame type
 53051  
 53052  POSSESSIVE_GROUP:
 53053  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(DFALSE)                         // Never matched
 53054  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode // Start of this group
 53055  
 53056  __3048:
 53057  
 53058  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Feptr // Position at group start
 53059  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 53060  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53061  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM8
 53062  	goto MATCH_RECURSE
 53063  L_RM8:
 53064  	;
 53065  
 53066  	if !(rrc == -998) {
 53067  		goto __3051
 53068  	}
 53069  
 53070  	*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) = Tuint32_t(DTRUE) // Matched at least once
 53071  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))) {
 53072  		goto __3052
 53073  	} /* Empty match; skip to end */
 53074  
 53075  __3053:
 53076  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53077  	goto __3054
 53078  __3054:
 53079  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53080  		goto __3053
 53081  	}
 53082  	goto __3055
 53083  __3055:
 53084  	;
 53085  	goto __3050
 53086  __3052:
 53087  	;
 53088  
 53089  	(*Theapframe)(unsafe.Pointer(F)).Fecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8 + 1*8))
 53090  	goto __3049
 53091  __3051:
 53092  	;
 53093  
 53094  	// See comment above about handling THEN.
 53095  
 53096  	if !(rrc == -993) {
 53097  		goto __3056
 53098  	}
 53099  
 53100  	next_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53101  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr < next_ecode && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_ecode))) == OP_ALT)) {
 53102  		goto __3057
 53103  	}
 53104  	rrc = DMATCH_NOMATCH
 53105  __3057:
 53106  	;
 53107  __3056:
 53108  	;
 53109  
 53110  	if !(rrc != DMATCH_NOMATCH) {
 53111  		goto __3058
 53112  	}
 53113  	rrc = rrc
 53114  	goto RETURN_SWITCH
 53115  __3058:
 53116  	;
 53117  
 53118  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53119  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) {
 53120  		goto __3059
 53121  	}
 53122  	goto __3050
 53123  __3059:
 53124  	;
 53125  	goto __3049
 53126  __3049:
 53127  	goto __3048
 53128  	goto __3050
 53129  __3050:
 53130  	;
 53131  
 53132  	// Success if matched something or zero repeat allowed
 53133  
 53134  	if !(*(*Tuint32_t)(unsafe.Pointer(F + 56 + 1*4)) != 0 || *(*Tuint32_t)(unsafe.Pointer(F + 56 + 2*4)) != 0) {
 53135  		goto __3060
 53136  	}
 53137  
 53138  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53139  	goto __13
 53140  __3060:
 53141  	;
 53142  
 53143  	rrc = DMATCH_NOMATCH
 53144  	goto RETURN_SWITCH
 53145  
 53146  	// =====================================================================
 53147  	// Handle non-capturing brackets that cannot match an empty string. When we
 53148  	//     get to the final alternative within the brackets, as long as there are no
 53149  	//     THEN's in the pattern, we can optimize by not recording a new backtracking
 53150  	//     point. (Ideally we should test for a THEN within this group, but we don't
 53151  	//     have that information.) Don't do this if we are at the very top level,
 53152  	//     however, because that would make handling assertions and once-only brackets
 53153  	//     messier when there is nothing to go back to.
 53154  
 53155  __119:
 53156  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fhasthen != 0 || (*Theapframe)(unsafe.Pointer(F)).Frdepth == Tuint32_t(0)) {
 53157  		goto __3061
 53158  	}
 53159  
 53160  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(0)
 53161  	goto GROUPLOOP
 53162  __3061:
 53163  	;
 53164  
 53165  __3062:
 53166  
 53167  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53168  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) != OP_ALT) {
 53169  		goto __3065
 53170  	}
 53171  	goto __3064
 53172  __3065:
 53173  	;
 53174  
 53175  	/* This is never the final branch. We do not need to test for MATCH_THEN
 53176  	   here because this code is not used when there is a THEN in the pattern. */
 53177  
 53178  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53179  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM1
 53180  	goto MATCH_RECURSE
 53181  L_RM1:
 53182  	;
 53183  
 53184  	if !(rrc != DMATCH_NOMATCH) {
 53185  		goto __3066
 53186  	}
 53187  	rrc = rrc
 53188  	goto RETURN_SWITCH
 53189  __3066:
 53190  	;
 53191  
 53192  	(*Theapframe)(unsafe.Pointer(F)).Fecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))
 53193  	goto __3063
 53194  __3063:
 53195  	goto __3062
 53196  	goto __3064
 53197  __3064:
 53198  	;
 53199  
 53200  	// Hit the start of the final branch. Continue at this level.
 53201  
 53202  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53203  	goto __13
 53204  
 53205  	// =====================================================================
 53206  	// Handle a capturing bracket, other than those that are possessive with an
 53207  	//     unlimited repeat.
 53208  
 53209  __120:
 53210  __121:
 53211  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_CAPTURE | uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4))))
 53212  	goto GROUPLOOP
 53213  
 53214  	// =====================================================================
 53215  	// Atomic groups and non-capturing brackets that can match an empty string
 53216  	//     must record a backtracking point and also set up a chained frame.
 53217  
 53218  __122:
 53219  __123:
 53220  __124:
 53221  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop)
 53222  
 53223  GROUPLOOP:
 53224  __3067:
 53225  
 53226  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 53227  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53228  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM2
 53229  	goto MATCH_RECURSE
 53230  L_RM2:
 53231  	;
 53232  
 53233  	if !(rrc == -993) {
 53234  		goto __3070
 53235  	}
 53236  
 53237  	next_ecode1 = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53238  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr < next_ecode1 && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_ecode1))) == OP_ALT)) {
 53239  		goto __3071
 53240  	}
 53241  	rrc = DMATCH_NOMATCH
 53242  __3071:
 53243  	;
 53244  __3070:
 53245  	;
 53246  	if !(rrc != DMATCH_NOMATCH) {
 53247  		goto __3072
 53248  	}
 53249  	rrc = rrc
 53250  	goto RETURN_SWITCH
 53251  __3072:
 53252  	;
 53253  
 53254  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53255  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) {
 53256  		goto __3073
 53257  	}
 53258  	rrc = DMATCH_NOMATCH
 53259  	goto RETURN_SWITCH
 53260  __3073:
 53261  	;
 53262  
 53263  	goto __3068
 53264  __3068:
 53265  	goto __3067
 53266  	goto __3069
 53267  __3069:
 53268  	;
 53269  	// Control never reaches here.
 53270  
 53271  	// =====================================================================
 53272  	// Recursion either matches the current regex, or some subexpression. The
 53273  	//     offset data is the offset to the starting bracket from the start of the
 53274  	//     whole pattern. (This is so that it works from duplicated subpatterns.)
 53275  
 53276  __125:
 53277  	bracode = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53278  	if bracode == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_code {
 53279  		number = uint32(0)
 53280  	} else {
 53281  		number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 4))))
 53282  	}
 53283  
 53284  	// If we are already in a recursion, check for repeating the same one
 53285  	//     without advancing the subject pointer. This should catch convoluted mutual
 53286  	//     recursions. (Some simple cases are caught at compile time.)
 53287  
 53288  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) {
 53289  		goto __3074
 53290  	}
 53291  
 53292  	offset = (*Theapframe)(unsafe.Pointer(F)).Flast_group_offset
 53293  __3075:
 53294  	if !(offset != libc.CplUint64(uint64(0))) {
 53295  		goto __3076
 53296  	}
 53297  
 53298  	N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr(offset)
 53299  	P = N - uintptr(frame_size)
 53300  	if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type == DGF_RECURSE|number) {
 53301  		goto __3077
 53302  	}
 53303  
 53304  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == (*Theapframe)(unsafe.Pointer(P)).Feptr) {
 53305  		goto __3078
 53306  	}
 53307  	return -52
 53308  __3078:
 53309  	;
 53310  	goto __3076
 53311  __3077:
 53312  	;
 53313  	offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset
 53314  	goto __3075
 53315  __3076:
 53316  	;
 53317  __3074:
 53318  	;
 53319  
 53320  	// Now run the recursion, branch by branch.
 53321  
 53322  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = bracode
 53323  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_RECURSE | number
 53324  
 53325  __3079:
 53326  
 53327  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 53328  	start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))])
 53329  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM11
 53330  	goto MATCH_RECURSE
 53331  L_RM11:
 53332  	;
 53333  
 53334  	next_ecode2 = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 2)))))
 53335  
 53336  	// Handle backtracking verbs, which are defined in a range that can
 53337  	//       easily be tested for. PCRE does not allow THEN, SKIP, PRUNE or COMMIT to
 53338  	//       escape beyond a recursion; they cause a NOMATCH for the entire recursion.
 53339  	//
 53340  	//       When one of these verbs triggers, the current recursion group number is
 53341  	//       recorded. If it matches the recursion we are processing, the verb
 53342  	//       happened within the recursion and we must deal with it. Otherwise it must
 53343  	//       have happened after the recursion completed, and so has to be passed
 53344  	//       back. See comment above about handling THEN.
 53345  
 53346  	if !(rrc >= -997 && rrc <= -993 && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse == *(*Tuint32_t)(unsafe.Pointer(F + 56))^DGF_RECURSE) {
 53347  		goto __3082
 53348  	}
 53349  
 53350  	if !(rrc == -993 && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr < next_ecode2 && (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) == OP_ALT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(next_ecode2))) == OP_ALT)) {
 53351  		goto __3083
 53352  	}
 53353  	rrc = DMATCH_NOMATCH
 53354  	goto __3084
 53355  __3083:
 53356  	rrc = DMATCH_NOMATCH
 53357  	goto RETURN_SWITCH
 53358  __3084:
 53359  	;
 53360  
 53361  __3082:
 53362  	;
 53363  
 53364  	// Note that carrying on after (*ACCEPT) in a recursion is handled in the
 53365  	//       OP_ACCEPT code. Nothing needs to be done here.
 53366  
 53367  	if !(rrc != DMATCH_NOMATCH) {
 53368  		goto __3085
 53369  	}
 53370  	rrc = rrc
 53371  	goto RETURN_SWITCH
 53372  __3085:
 53373  	;
 53374  
 53375  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = next_ecode2
 53376  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) != OP_ALT) {
 53377  		goto __3086
 53378  	}
 53379  	rrc = DMATCH_NOMATCH
 53380  	goto RETURN_SWITCH
 53381  __3086:
 53382  	;
 53383  
 53384  	goto __3080
 53385  __3080:
 53386  	goto __3079
 53387  	goto __3081
 53388  __3081:
 53389  	;
 53390  	// Control never reaches here.
 53391  
 53392  	// =====================================================================
 53393  	// Positive assertions are like other groups except that PCRE doesn't allow
 53394  	//     the effect of (*THEN) to escape beyond an assertion; it is therefore
 53395  	//     treated as NOMATCH. (*ACCEPT) is treated as successful assertion, with its
 53396  	//     captures and mark retained. Any other return is an error.
 53397  
 53398  __126:
 53399  __127:
 53400  __128:
 53401  __129:
 53402  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop)
 53403  __3087:
 53404  
 53405  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 53406  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53407  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM3
 53408  	goto MATCH_RECURSE
 53409  L_RM3:
 53410  	;
 53411  
 53412  	if !(rrc == -999) {
 53413  		goto __3090
 53414  	}
 53415  
 53416  	libc.Xmemcpy(tls, F+128,
 53417  		assert_accept_frame+uintptr(uint64(uintptr(0)+128)),
 53418  		(*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 53419  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = (*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top
 53420  	(*Theapframe)(unsafe.Pointer(F)).Fmark = (*Theapframe)(unsafe.Pointer(assert_accept_frame)).Fmark
 53421  	goto __3089
 53422  __3090:
 53423  	;
 53424  	if !(rrc != DMATCH_NOMATCH && rrc != -993) {
 53425  		goto __3091
 53426  	}
 53427  	rrc = rrc
 53428  	goto RETURN_SWITCH
 53429  __3091:
 53430  	;
 53431  
 53432  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53433  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) {
 53434  		goto __3092
 53435  	}
 53436  	rrc = DMATCH_NOMATCH
 53437  	goto RETURN_SWITCH
 53438  __3092:
 53439  	;
 53440  
 53441  	goto __3088
 53442  __3088:
 53443  	goto __3087
 53444  	goto __3089
 53445  __3089:
 53446  	;
 53447  
 53448  __3093:
 53449  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53450  	goto __3094
 53451  __3094:
 53452  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53453  		goto __3093
 53454  	}
 53455  	goto __3095
 53456  __3095:
 53457  	;
 53458  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53459  	goto __13
 53460  
 53461  	// =====================================================================
 53462  	// Handle negative assertions. Loop for each non-matching branch as for
 53463  	//     positive assertions.
 53464  
 53465  __130:
 53466  __131:
 53467  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop)
 53468  
 53469  __3096:
 53470  
 53471  	group_frame_type = *(*Tuint32_t)(unsafe.Pointer(F + 56))
 53472  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53473  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM4
 53474  	goto MATCH_RECURSE
 53475  L_RM4:
 53476  	;
 53477  
 53478  	switch rrc {
 53479  	case -999:
 53480  		goto __3100 // Assertion matched, therefore it fails.
 53481  	case DMATCH_MATCH:
 53482  		goto __3101
 53483  
 53484  	case DMATCH_NOMATCH:
 53485  		goto __3102 // Branch failed, try next if present.
 53486  	case -993:
 53487  		goto __3103
 53488  
 53489  	case -997:
 53490  		goto __3104 // Assertion forced to fail, therefore continue.
 53491  	case -995:
 53492  		goto __3105
 53493  	case -996:
 53494  		goto __3106
 53495  
 53496  	default:
 53497  		goto __3107
 53498  	}
 53499  	goto __3099
 53500  
 53501  __3100: // Assertion matched, therefore it fails.
 53502  __3101:
 53503  	rrc = DMATCH_NOMATCH
 53504  	goto RETURN_SWITCH
 53505  
 53506  __3102: // Branch failed, try next if present.
 53507  __3103:
 53508  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53509  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) != OP_ALT) {
 53510  		goto __3108
 53511  	}
 53512  	goto ASSERT_NOT_FAILED
 53513  __3108:
 53514  	;
 53515  	goto __3099
 53516  
 53517  __3104: // Assertion forced to fail, therefore continue.
 53518  __3105:
 53519  __3106:
 53520  __3109:
 53521  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53522  	goto __3110
 53523  __3110:
 53524  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53525  		goto __3109
 53526  	}
 53527  	goto __3111
 53528  __3111:
 53529  	;
 53530  	goto ASSERT_NOT_FAILED
 53531  
 53532  __3107: /* Pass back any other return */
 53533  	rrc = rrc
 53534  	goto RETURN_SWITCH
 53535  
 53536  __3099:
 53537  	;
 53538  	goto __3097
 53539  __3097:
 53540  	goto __3096
 53541  	goto __3098
 53542  __3098:
 53543  	;
 53544  
 53545  	// None of the branches have matched or there was a backtrack to (*COMMIT),
 53546  	//     (*SKIP), (*PRUNE), or (*THEN) in the last branch. This is success for a
 53547  	//     negative assertion, so carry on.
 53548  
 53549  ASSERT_NOT_FAILED:
 53550  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53551  	goto __13
 53552  
 53553  	// =====================================================================
 53554  	// The callout item calls an external function, if one is provided, passing
 53555  	//     details of the match so far. This is mainly for debugging, though the
 53556  	//     function is able to force a failure.
 53557  
 53558  __132:
 53559  __133:
 53560  	rrc = do_callout1(tls, F, mb, bp)
 53561  	if !(rrc > 0) {
 53562  		goto __3112
 53563  	}
 53564  	rrc = DMATCH_NOMATCH
 53565  	goto RETURN_SWITCH
 53566  __3112:
 53567  	;
 53568  
 53569  	if !(rrc < 0) {
 53570  		goto __3113
 53571  	}
 53572  	rrc = rrc
 53573  	goto RETURN_SWITCH
 53574  __3113:
 53575  	;
 53576  
 53577  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp)))
 53578  	goto __13
 53579  
 53580  	// =====================================================================
 53581  	// Conditional group: compilation checked that there are no more than two
 53582  	//     branches. If the condition is false, skipping the first branch takes us
 53583  	//     past the end of the item if there is only one branch, but that's exactly
 53584  	//     what we want.
 53585  
 53586  __134:
 53587  __135:
 53588  
 53589  	// The variable Flength will be added to Fecode when the condition is
 53590  	//     false, to get to the second branch. Setting it to the offset to the ALT or
 53591  	//     KET, then incrementing Fecode achieves this effect. However, if the second
 53592  	//     branch is non-existent, we must point to the KET so that the end of the
 53593  	//     group is correctly processed. We now have Fecode pointing to the condition
 53594  	//     or callout.
 53595  
 53596  	(*Theapframe)(unsafe.Pointer(F)).Flength = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))) // Offset to the second branch
 53597  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr((*Theapframe)(unsafe.Pointer(F)).Flength)))) != OP_ALT) {
 53598  		goto __3114
 53599  	}
 53600  	*(*Tsize_t)(unsafe.Pointer(F + 24)) -= uint64(1 + DLINK_SIZE)
 53601  __3114:
 53602  	;
 53603  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE) // From this opcode
 53604  
 53605  	// Because of the way auto-callout works during compile, a callout item is
 53606  	//     inserted between OP_COND and an assertion condition. Such a callout can
 53607  	//     also be inserted manually.
 53608  
 53609  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CALLOUT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_CALLOUT_STR) {
 53610  		goto __3115
 53611  	}
 53612  
 53613  	rrc = do_callout1(tls, F, mb, bp)
 53614  	if !(rrc > 0) {
 53615  		goto __3116
 53616  	}
 53617  	rrc = DMATCH_NOMATCH
 53618  	goto RETURN_SWITCH
 53619  __3116:
 53620  	;
 53621  
 53622  	if !(rrc < 0) {
 53623  		goto __3117
 53624  	}
 53625  	rrc = rrc
 53626  	goto RETURN_SWITCH
 53627  __3117:
 53628  	;
 53629  
 53630  	// Advance Fecode past the callout, so it now points to the condition. We
 53631  	//       must adjust Flength so that the value of Fecode+Flength is unchanged.
 53632  
 53633  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(*(*Tsize_t)(unsafe.Pointer(bp)))
 53634  	*(*Tsize_t)(unsafe.Pointer(F + 24)) -= *(*Tsize_t)(unsafe.Pointer(bp))
 53635  __3115:
 53636  	;
 53637  
 53638  	// Test the various possible conditions
 53639  
 53640  	condition = DFALSE
 53641  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) {
 53642  	case OP_RREF:
 53643  		goto __3119
 53644  
 53645  	case OP_DNRREF:
 53646  		goto __3120
 53647  
 53648  	case OP_CREF:
 53649  		goto __3121
 53650  
 53651  	case OP_DNCREF:
 53652  		goto __3122
 53653  
 53654  	case OP_FALSE:
 53655  		goto __3123
 53656  	case OP_FAIL:
 53657  		goto __3124
 53658  
 53659  	case OP_TRUE:
 53660  		goto __3125
 53661  
 53662  	// The condition is an assertion. Run code similar to the assertion code
 53663  	//       above.
 53664  
 53665  	default:
 53666  		goto __3126
 53667  	}
 53668  	goto __3118
 53669  
 53670  __3119: // Group recursion test
 53671  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) {
 53672  		goto __3127
 53673  	}
 53674  
 53675  	number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 53676  	condition = libc.Bool32(number == Tuint32_t(DRREF_ANY) || number == (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse)
 53677  __3127:
 53678  	;
 53679  	goto __3118
 53680  
 53681  __3120: // Duplicate named group recursion test
 53682  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse != DRECURSE_UNSET) {
 53683  		goto __3128
 53684  	}
 53685  
 53686  	count1 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))))
 53687  	slot1 = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))*uint32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size))
 53688  __3129:
 53689  	if !(libc.PostDecInt32(&count1, 1) > 0) {
 53690  		goto __3130
 53691  	}
 53692  
 53693  	number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot1 + 1))))
 53694  	condition = libc.Bool32(number == (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse)
 53695  	if !(condition != 0) {
 53696  		goto __3131
 53697  	}
 53698  	goto __3130
 53699  __3131:
 53700  	;
 53701  	slot1 += TPCRE2_SPTR8((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size)
 53702  	goto __3129
 53703  __3130:
 53704  	;
 53705  __3128:
 53706  	;
 53707  	goto __3118
 53708  
 53709  __3121: // Numbered group used test
 53710  	offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))<<1 - uint32(2)) // Doubled ref number
 53711  	condition = libc.Bool32(offset < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) != libc.CplUint64(uint64(0)))
 53712  	goto __3118
 53713  
 53714  __3122: /* Duplicate named group used test */
 53715  
 53716  	count2 = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 4)))))
 53717  	slot2 = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))*uint32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size))
 53718  __3132:
 53719  	if !(libc.PostDecInt32(&count2, 1) > 0) {
 53720  		goto __3133
 53721  	}
 53722  
 53723  	offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot2)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot2 + 1))))<<1 - uint32(2))
 53724  	condition = libc.Bool32(offset < (*Theapframe)(unsafe.Pointer(F)).Foffset_top && *(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) != libc.CplUint64(uint64(0)))
 53725  	if !(condition != 0) {
 53726  		goto __3134
 53727  	}
 53728  	goto __3133
 53729  __3134:
 53730  	;
 53731  	slot2 += TPCRE2_SPTR8((*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size)
 53732  	goto __3132
 53733  __3133:
 53734  	;
 53735  
 53736  	goto __3118
 53737  
 53738  __3123:
 53739  __3124: // The assertion (?!) becomes OP_FAIL
 53740  	goto __3118
 53741  
 53742  __3125:
 53743  	condition = DTRUE
 53744  	goto __3118
 53745  
 53746  	// The condition is an assertion. Run code similar to the assertion code
 53747  	//       above.
 53748  
 53749  __3126:
 53750  	*(*Tuint32_t)(unsafe.Pointer(F + 56)) = Tuint32_t(libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ASSERT || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ASSERTBACK))
 53751  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) = (*Theapframe)(unsafe.Pointer(F)).Fecode
 53752  
 53753  __3135:
 53754  
 53755  	group_frame_type = DGF_CONDASSERT | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode)))
 53756  	start_ecode = *(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))])
 53757  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM5
 53758  	goto MATCH_RECURSE
 53759  L_RM5:
 53760  	;
 53761  
 53762  	switch rrc {
 53763  	case -999:
 53764  		goto __3139
 53765  
 53766  	// Fall through
 53767  	// In the case of a match, the captures have already been put into
 53768  	//           the current frame.
 53769  
 53770  	case DMATCH_MATCH:
 53771  		goto __3140
 53772  
 53773  	// PCRE doesn't allow the effect of (*THEN) to escape beyond an
 53774  	//           assertion; it is therefore always treated as NOMATCH.
 53775  
 53776  	case DMATCH_NOMATCH:
 53777  		goto __3141
 53778  	case -993:
 53779  		goto __3142
 53780  
 53781  	// These force no match without checking other branches.
 53782  
 53783  	case -997:
 53784  		goto __3143
 53785  	case -995:
 53786  		goto __3144
 53787  	case -996:
 53788  		goto __3145
 53789  
 53790  	default:
 53791  		goto __3146
 53792  	}
 53793  	goto __3138
 53794  
 53795  __3139: // Save captures
 53796  	libc.Xmemcpy(tls, F+128,
 53797  		assert_accept_frame+uintptr(uint64(uintptr(0)+128)),
 53798  		(*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 53799  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = (*Theapframe)(unsafe.Pointer(assert_accept_frame)).Foffset_top
 53800  
 53801  	// Fall through
 53802  	// In the case of a match, the captures have already been put into
 53803  	//           the current frame.
 53804  
 53805  __3140:
 53806  	condition = TBOOL(*(*Tuint32_t)(unsafe.Pointer(F + 56))) // TRUE for positive assertion
 53807  	goto __3138
 53808  
 53809  	// PCRE doesn't allow the effect of (*THEN) to escape beyond an
 53810  	//           assertion; it is therefore always treated as NOMATCH.
 53811  
 53812  __3141:
 53813  __3142:
 53814  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8)) + 2)))))
 53815  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 8))))) == OP_ALT) {
 53816  		goto __3147
 53817  	}
 53818  	goto __3136
 53819  __3147:
 53820  	;                                                                         // Try next branch
 53821  	condition = libc.BoolInt32(!(*(*Tuint32_t)(unsafe.Pointer(F + 56)) != 0)) // TRUE for negative assertion
 53822  	goto __3138
 53823  
 53824  	// These force no match without checking other branches.
 53825  
 53826  __3143:
 53827  __3144:
 53828  __3145:
 53829  	condition = libc.BoolInt32(!(*(*Tuint32_t)(unsafe.Pointer(F + 56)) != 0))
 53830  	goto __3138
 53831  
 53832  __3146:
 53833  	rrc = rrc
 53834  	goto RETURN_SWITCH
 53835  
 53836  __3138:
 53837  	;
 53838  	goto __3137 // Out of the branch loop
 53839  	goto __3136
 53840  __3136:
 53841  	goto __3135
 53842  	goto __3137
 53843  __3137:
 53844  	;
 53845  
 53846  	// If the condition is true, find the end of the assertion so that
 53847  	//       advancing past it gets us to the start of the first branch.
 53848  
 53849  	if !(condition != 0) {
 53850  		goto __3148
 53851  	}
 53852  
 53853  __3149:
 53854  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53855  	goto __3150
 53856  __3150:
 53857  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53858  		goto __3149
 53859  	}
 53860  	goto __3151
 53861  __3151:
 53862  	;
 53863  __3148:
 53864  	;
 53865  	goto __3118 // End of assertion condition
 53866  __3118:
 53867  	;
 53868  
 53869  	// Choose branch according to the condition.
 53870  
 53871  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += func() uintptr {
 53872  		if condition != 0 {
 53873  			return uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 53874  		}
 53875  		return uintptr((*Theapframe)(unsafe.Pointer(F)).Flength)
 53876  	}()
 53877  
 53878  	// If the opcode is OP_SCOND it means we are at a repeated conditional
 53879  	//     group that might match an empty string. We must therefore descend a level
 53880  	//     so that the start is remembered for checking. For OP_COND we can just
 53881  	//     continue at this level.
 53882  
 53883  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_SCOND) {
 53884  		goto __3152
 53885  	}
 53886  
 53887  	group_frame_type = DGF_NOCAPTURE | uint32((*Theapframe)(unsafe.Pointer(F)).Fop)
 53888  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode
 53889  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM35
 53890  	goto MATCH_RECURSE
 53891  L_RM35:
 53892  	;
 53893  
 53894  	rrc = rrc
 53895  	goto RETURN_SWITCH
 53896  
 53897  __3152:
 53898  	;
 53899  	goto __13
 53900  
 53901  	// =========================================================================
 53902  	//                  End of start of parenthesis opcodes
 53903  	// =========================================================================
 53904  
 53905  	// =====================================================================
 53906  	// Move the subject pointer back. This occurs only at the start of each
 53907  	//     branch of a lookbehind assertion. If we are too close to the start to move
 53908  	//     back, fail. When working with UTF-8 we move back a number of characters,
 53909  	//     not bytes.
 53910  
 53911  __136:
 53912  	number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2))))
 53913  	if !(utf != 0) {
 53914  		goto __3153
 53915  	}
 53916  
 53917  __3155:
 53918  	if !(libc.PostDecUint32(&number, 1) > Tuint32_t(0)) {
 53919  		goto __3156
 53920  	}
 53921  
 53922  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject) {
 53923  		goto __3157
 53924  	}
 53925  	rrc = DMATCH_NOMATCH
 53926  	goto RETURN_SWITCH
 53927  __3157:
 53928  	;
 53929  
 53930  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 53931  __3158:
 53932  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))&0xc0 == 0x80) {
 53933  		goto __3159
 53934  	}
 53935  	(*Theapframe)(unsafe.Pointer(F)).Feptr--
 53936  	goto __3158
 53937  __3159:
 53938  	;
 53939  	goto __3155
 53940  __3156:
 53941  	;
 53942  	goto __3154
 53943  __3153:
 53944  
 53945  	/* No UTF-8 support, or not in UTF-8 mode: count is code unit count */
 53946  
 53947  	if !(Tptrdiff_t(number) > (int64((*Theapframe)(unsafe.Pointer(F)).Feptr)-int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject))/1) {
 53948  		goto __3160
 53949  	}
 53950  	rrc = DMATCH_NOMATCH
 53951  	goto RETURN_SWITCH
 53952  __3160:
 53953  	;
 53954  
 53955  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F + 80)) -= TPCRE2_SPTR8(number)
 53956  __3154:
 53957  	;
 53958  
 53959  	// Save the earliest consulted character, then skip to next opcode
 53960  
 53961  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) {
 53962  		goto __3161
 53963  	}
 53964  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 53965  __3161:
 53966  	;
 53967  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 53968  	goto __13
 53969  
 53970  	// =====================================================================
 53971  	// An alternation is the end of a branch; scan along to find the end of the
 53972  	//     bracketed group.
 53973  
 53974  __137:
 53975  __3162:
 53976  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53977  	goto __3163
 53978  __3163:
 53979  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_ALT {
 53980  		goto __3162
 53981  	}
 53982  	goto __3164
 53983  __3164:
 53984  	;
 53985  	goto __13
 53986  
 53987  	// =====================================================================
 53988  	// The end of a parenthesized group. For all but OP_BRA and OP_COND, the
 53989  	//     starting frame was added to the chained frames in order to remember the
 53990  	//     starting subject position for the group.
 53991  
 53992  __138:
 53993  __139:
 53994  __140:
 53995  __141:
 53996  
 53997  	bracode = (*Theapframe)(unsafe.Pointer(F)).Fecode - uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 53998  
 53999  	// Point N to the frame at the start of the most recent group.
 54000  	//     Remember the subject pointer at the start of the group.
 54001  
 54002  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) != OP_BRA && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) != OP_COND) {
 54003  		goto __3165
 54004  	}
 54005  
 54006  	N = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr((*Theapframe)(unsafe.Pointer(F)).Flast_group_offset)
 54007  	P = N - uintptr(frame_size)
 54008  	(*Theapframe)(unsafe.Pointer(F)).Flast_group_offset = (*Theapframe)(unsafe.Pointer(P)).Flast_group_offset
 54009  
 54010  	// If we are at the end of an assertion that is a condition, return a
 54011  	//       match, discarding any intermediate backtracking points. Copy back the
 54012  	//       mark setting and the captures into the frame before N so that they are
 54013  	//       set on return. Doing this for all assertions, both positive and negative,
 54014  	//       seems to match what Perl does.
 54015  
 54016  	if !((*Theapframe)(unsafe.Pointer(N)).Fgroup_frame_type&0xffff0000 == DGF_CONDASSERT) {
 54017  		goto __3167
 54018  	}
 54019  
 54020  	libc.Xmemcpy(tls, P+uintptr(uint64(uintptr(0)+128)), F+128,
 54021  		(*Theapframe)(unsafe.Pointer(F)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 54022  	(*Theapframe)(unsafe.Pointer(P)).Foffset_top = (*Theapframe)(unsafe.Pointer(F)).Foffset_top
 54023  	(*Theapframe)(unsafe.Pointer(P)).Fmark = (*Theapframe)(unsafe.Pointer(F)).Fmark
 54024  	(*Theapframe)(unsafe.Pointer(F)).Fback_frame = Tsize_t((int64(F) - int64(P)) / 1)
 54025  	rrc = DMATCH_MATCH
 54026  	goto RETURN_SWITCH
 54027  
 54028  __3167:
 54029  	;
 54030  	goto __3166
 54031  __3165:
 54032  	P = uintptr(0)
 54033  __3166:
 54034  	; // Indicates starting frame not recorded
 54035  
 54036  	// The group was not a conditional assertion.
 54037  
 54038  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode))) {
 54039  	case OP_BRA:
 54040  		goto __3169 // No need to do anything for these
 54041  	case OP_COND:
 54042  		goto __3170
 54043  	case OP_SCOND:
 54044  		goto __3171
 54045  
 54046  	// Non-atomic positive assertions are like OP_BRA, except that the
 54047  	//       subject pointer must be put back to where it was at the start of the
 54048  	//       assertion.
 54049  
 54050  	case OP_ASSERT_NA:
 54051  		goto __3172
 54052  	case OP_ASSERTBACK_NA:
 54053  		goto __3173
 54054  
 54055  	// Atomic positive assertions are like OP_ONCE, except that in addition
 54056  	//       the subject pointer must be put back to where it was at the start of the
 54057  	//       assertion.
 54058  
 54059  	case OP_ASSERT:
 54060  		goto __3174
 54061  	case OP_ASSERTBACK:
 54062  		goto __3175
 54063  	// Fall through
 54064  
 54065  	// For an atomic group, discard internal backtracking points. We must
 54066  	//       also ensure that any remaining branches within the top-level of the group
 54067  	//       are not tried. Do this by adjusting the code pointer within the backtrack
 54068  	//       frame so that it points to the final branch.
 54069  
 54070  	case OP_ONCE:
 54071  		goto __3176
 54072  
 54073  	// A matching negative assertion returns MATCH, which is turned into
 54074  	//       NOMATCH at the assertion level.
 54075  
 54076  	case OP_ASSERT_NOT:
 54077  		goto __3177
 54078  	case OP_ASSERTBACK_NOT:
 54079  		goto __3178
 54080  
 54081  	// At the end of a script run, apply the script-checking rules. This code
 54082  	//       will never by exercised if Unicode support it not compiled, because in
 54083  	//       that environment script runs cause an error at compile time.
 54084  
 54085  	case OP_SCRIPT_RUN:
 54086  		goto __3179
 54087  
 54088  	// Whole-pattern recursion is coded as a recurse into group 0, so it
 54089  	//       won't be picked up here. Instead, we catch it when the OP_END is reached.
 54090  	//       Other recursion is handled here.
 54091  
 54092  	case OP_CBRA:
 54093  		goto __3180
 54094  	case OP_CBRAPOS:
 54095  		goto __3181
 54096  	case OP_SCBRA:
 54097  		goto __3182
 54098  	case OP_SCBRAPOS:
 54099  		goto __3183
 54100  	}
 54101  	goto __3168
 54102  
 54103  __3169: // No need to do anything for these
 54104  __3170:
 54105  __3171:
 54106  	goto __3168
 54107  
 54108  	// Non-atomic positive assertions are like OP_BRA, except that the
 54109  	//       subject pointer must be put back to where it was at the start of the
 54110  	//       assertion.
 54111  
 54112  __3172:
 54113  __3173:
 54114  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 54115  		goto __3184
 54116  	}
 54117  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 54118  __3184:
 54119  	;
 54120  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Theapframe)(unsafe.Pointer(P)).Feptr
 54121  	goto __3168
 54122  
 54123  	// Atomic positive assertions are like OP_ONCE, except that in addition
 54124  	//       the subject pointer must be put back to where it was at the start of the
 54125  	//       assertion.
 54126  
 54127  __3174:
 54128  __3175:
 54129  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 54130  		goto __3185
 54131  	}
 54132  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 54133  __3185:
 54134  	;
 54135  	(*Theapframe)(unsafe.Pointer(F)).Feptr = (*Theapframe)(unsafe.Pointer(P)).Feptr
 54136  	// Fall through
 54137  
 54138  	// For an atomic group, discard internal backtracking points. We must
 54139  	//       also ensure that any remaining branches within the top-level of the group
 54140  	//       are not tried. Do this by adjusting the code pointer within the backtrack
 54141  	//       frame so that it points to the final branch.
 54142  
 54143  __3176:
 54144  	(*Theapframe)(unsafe.Pointer(F)).Fback_frame = Tsize_t((int64(F) - int64(P)) / 1)
 54145  __3186:
 54146  
 54147  	y = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(P)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(P)).Fecode + 2))))
 54148  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(P)).Fecode + uintptr(y)))) != OP_ALT) {
 54149  		goto __3189
 54150  	}
 54151  	goto __3188
 54152  __3189:
 54153  	;
 54154  	*(*TPCRE2_SPTR8)(unsafe.Pointer(P)) += TPCRE2_SPTR8(y)
 54155  	goto __3187
 54156  __3187:
 54157  	goto __3186
 54158  	goto __3188
 54159  __3188:
 54160  	;
 54161  	goto __3168
 54162  
 54163  	// A matching negative assertion returns MATCH, which is turned into
 54164  	//       NOMATCH at the assertion level.
 54165  
 54166  __3177:
 54167  __3178:
 54168  	rrc = DMATCH_MATCH
 54169  	goto RETURN_SWITCH
 54170  
 54171  	// At the end of a script run, apply the script-checking rules. This code
 54172  	//       will never by exercised if Unicode support it not compiled, because in
 54173  	//       that environment script runs cause an error at compile time.
 54174  
 54175  __3179:
 54176  	if !!(X_pcre2_script_run_8(tls, (*Theapframe)(unsafe.Pointer(P)).Feptr, (*Theapframe)(unsafe.Pointer(F)).Feptr, utf) != 0) {
 54177  		goto __3190
 54178  	}
 54179  	rrc = DMATCH_NOMATCH
 54180  	goto RETURN_SWITCH
 54181  __3190:
 54182  	;
 54183  
 54184  	goto __3168
 54185  
 54186  	// Whole-pattern recursion is coded as a recurse into group 0, so it
 54187  	//       won't be picked up here. Instead, we catch it when the OP_END is reached.
 54188  	//       Other recursion is handled here.
 54189  
 54190  __3180:
 54191  __3181:
 54192  __3182:
 54193  __3183:
 54194  	number = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bracode + 4))))
 54195  
 54196  	// Handle a recursively called group. We reinstate the previous set of
 54197  	//       captures and then carry on after the recursion call.
 54198  
 54199  	if !((*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse == number) {
 54200  		goto __3191
 54201  	}
 54202  
 54203  	P = N - uintptr(frame_size)
 54204  	libc.Xmemcpy(tls, F+uintptr(uint64(uintptr(0)+128)), P+128,
 54205  		(*Theapframe)(unsafe.Pointer(P)).Foffset_top*Tsize_t(unsafe.Sizeof(Tsize_t(0))))
 54206  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = (*Theapframe)(unsafe.Pointer(P)).Foffset_top
 54207  	(*Theapframe)(unsafe.Pointer(F)).Fcapture_last = (*Theapframe)(unsafe.Pointer(P)).Fcapture_last
 54208  	(*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse = (*Theapframe)(unsafe.Pointer(P)).Fcurrent_recurse
 54209  	(*Theapframe)(unsafe.Pointer(F)).Fecode = (*Theapframe)(unsafe.Pointer(P)).Fecode + uintptr(1) + uintptr(DLINK_SIZE)
 54210  	goto __11 // With next opcode
 54211  __3191:
 54212  	;
 54213  
 54214  	// Deal with actual capturing.
 54215  
 54216  	offset = Tsize_t(number<<1 - Tuint32_t(2))
 54217  	(*Theapframe)(unsafe.Pointer(F)).Fcapture_last = number
 54218  	*(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset)*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(P)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 54219  	*(*Tsize_t)(unsafe.Pointer(F + 128 + uintptr(offset+uint64(1))*8)) = Tsize_t((int64((*Theapframe)(unsafe.Pointer(F)).Feptr) - int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject)) / 1)
 54220  	if !(offset >= (*Theapframe)(unsafe.Pointer(F)).Foffset_top) {
 54221  		goto __3192
 54222  	}
 54223  	(*Theapframe)(unsafe.Pointer(F)).Foffset_top = offset + uint64(2)
 54224  __3192:
 54225  	;
 54226  	goto __3168
 54227  __3168:
 54228  	; // End actions relating to the starting opcode
 54229  
 54230  	// OP_KETRPOS is a possessive repeating ket. Remember the current position,
 54231  	//     and return the MATCH_KETRPOS. This makes it possible to do the repeats one
 54232  	//     at a time from the outer level. This must precede the empty string test -
 54233  	//     in this case that test is done at the outer level.
 54234  
 54235  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))) == OP_KETRPOS) {
 54236  		goto __3193
 54237  	}
 54238  
 54239  	libc.Xmemcpy(tls, P+uintptr(uint64(uintptr(0)+80)),
 54240  		F+uintptr(uint64(uintptr(0)+80)),
 54241  		frame_copy_size)
 54242  	rrc = -998
 54243  	goto RETURN_SWITCH
 54244  
 54245  __3193:
 54246  	;
 54247  
 54248  	// Handle the different kinds of closing brackets. A non-repeating ket
 54249  	//     needs no special action, just continuing at this level. This also happens
 54250  	//     for the repeating kets if the group matched no characters, in order to
 54251  	//     forcibly break infinite loops. Otherwise, the repeating kets try the rest
 54252  	//     of the pattern or restart from the preceding bracket, in the appropriate
 54253  	//     order.
 54254  
 54255  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) != OP_KET && (P == uintptr(0) || (*Theapframe)(unsafe.Pointer(F)).Feptr != (*Theapframe)(unsafe.Pointer(P)).Feptr)) {
 54256  		goto __3194
 54257  	}
 54258  
 54259  	if !(int32((*Theapframe)(unsafe.Pointer(F)).Fop) == OP_KETRMIN) {
 54260  		goto __3195
 54261  	}
 54262  
 54263  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(1) + uintptr(DLINK_SIZE)
 54264  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM6
 54265  	goto MATCH_RECURSE
 54266  L_RM6:
 54267  	;
 54268  
 54269  	if !(rrc != DMATCH_NOMATCH) {
 54270  		goto __3196
 54271  	}
 54272  	rrc = rrc
 54273  	goto RETURN_SWITCH
 54274  __3196:
 54275  	;
 54276  
 54277  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) -= TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 2)))))
 54278  	goto __13 // End of ket processing
 54279  __3195:
 54280  	;
 54281  
 54282  	/* Repeat the maximum number of times (KETRMAX) */
 54283  
 54284  	start_ecode = bracode
 54285  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM7
 54286  	goto MATCH_RECURSE
 54287  L_RM7:
 54288  	;
 54289  
 54290  	if !(rrc != DMATCH_NOMATCH) {
 54291  		goto __3197
 54292  	}
 54293  	rrc = rrc
 54294  	goto RETURN_SWITCH
 54295  __3197:
 54296  	;
 54297  
 54298  __3194:
 54299  	;
 54300  
 54301  	// Carry on at this level for a non-repeating ket, or after matching an
 54302  	//     empty string, or after repeating for a maximum number of times.
 54303  
 54304  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(1 + DLINK_SIZE)
 54305  	goto __13
 54306  
 54307  	// =====================================================================
 54308  	// Start and end of line assertions, not multiline mode.
 54309  
 54310  __142: // Start of line, unless PCRE2_NOTBOL is set.
 54311  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTBOL != Tuint32_t(0)) {
 54312  		goto __3198
 54313  	}
 54314  	rrc = DMATCH_NOMATCH
 54315  	goto RETURN_SWITCH
 54316  __3198:
 54317  	;
 54318  
 54319  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54320  	goto __13
 54321  
 54322  __143: // Unconditional start of subject
 54323  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject) {
 54324  		goto __3199
 54325  	}
 54326  	rrc = DMATCH_NOMATCH
 54327  	goto RETURN_SWITCH
 54328  __3199:
 54329  	;
 54330  
 54331  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54332  	goto __13
 54333  
 54334  	// When PCRE2_NOTEOL is unset, assert before the subject end, or a
 54335  	//     terminating newline unless PCRE2_DOLLAR_ENDONLY is set.
 54336  
 54337  __144:
 54338  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL != Tuint32_t(0)) {
 54339  		goto __3200
 54340  	}
 54341  	rrc = DMATCH_NOMATCH
 54342  	goto RETURN_SWITCH
 54343  __3200:
 54344  	;
 54345  
 54346  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_DOLLAR_ENDONLY == Tuint32_t(0)) {
 54347  		goto __3201
 54348  	}
 54349  	goto ASSERT_NL_OR_EOS
 54350  __3201:
 54351  	;
 54352  
 54353  	// Fall through
 54354  	// Unconditional end of subject assertion (\z)
 54355  
 54356  __145:
 54357  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 54358  		goto __3202
 54359  	}
 54360  	rrc = DMATCH_NOMATCH
 54361  	goto RETURN_SWITCH
 54362  __3202:
 54363  	;
 54364  
 54365  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0) {
 54366  		goto __3203
 54367  	}
 54368  
 54369  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54370  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54371  		goto __3204
 54372  	}
 54373  	return -2
 54374  __3204:
 54375  	;
 54376  __3203:
 54377  	;
 54378  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54379  	goto __13
 54380  
 54381  	// End of subject or ending \n assertion (\Z)
 54382  
 54383  __146:
 54384  ASSERT_NL_OR_EOS:
 54385  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (!(func() int32 {
 54386  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 54387  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 54388  		}
 54389  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 54390  	}() != 0) || (*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen))) {
 54391  		goto __3205
 54392  	}
 54393  
 54394  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 54395  		goto __3206
 54396  	}
 54397  
 54398  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54399  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54400  		goto __3207
 54401  	}
 54402  	return -2
 54403  __3207:
 54404  	;
 54405  __3206:
 54406  	;
 54407  	rrc = DMATCH_NOMATCH
 54408  	goto RETURN_SWITCH
 54409  
 54410  __3205:
 54411  	;
 54412  
 54413  	// Either at end of string or \n before end.
 54414  
 54415  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0) {
 54416  		goto __3208
 54417  	}
 54418  
 54419  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54420  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54421  		goto __3209
 54422  	}
 54423  	return -2
 54424  __3209:
 54425  	;
 54426  __3208:
 54427  	;
 54428  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54429  	goto __13
 54430  
 54431  	// =====================================================================
 54432  	// Start and end of line assertions, multiline mode.
 54433  
 54434  	// Start of subject unless notbol, or after any newline except for one at
 54435  	//     the very end, unless PCRE2_ALT_CIRCUMFLEX is set.
 54436  
 54437  __147:
 54438  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTBOL != Tuint32_t(0) && (*Theapframe)(unsafe.Pointer(F)).Feptr == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject) {
 54439  		goto __3210
 54440  	}
 54441  	rrc = DMATCH_NOMATCH
 54442  	goto RETURN_SWITCH
 54443  __3210:
 54444  	;
 54445  
 54446  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject && ((*Theapframe)(unsafe.Pointer(F)).Feptr == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_ALT_CIRCUMFLEX == Tuint32_t(0) || !(func() int32 {
 54447  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 54448  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+256, utf) != 0)
 54449  		}
 54450  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 54451  	}() != 0))) {
 54452  		goto __3211
 54453  	}
 54454  	rrc = DMATCH_NOMATCH
 54455  	goto RETURN_SWITCH
 54456  __3211:
 54457  	;
 54458  
 54459  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54460  	goto __13
 54461  
 54462  	// Assert before any newline, or before end of subject unless noteol is
 54463  	//     set.
 54464  
 54465  __148:
 54466  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 54467  		goto __3212
 54468  	}
 54469  
 54470  	if !!(func() int32 {
 54471  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 54472  			return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, (*Theapframe)(unsafe.Pointer(F)).Feptr, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 54473  		}
 54474  		return libc.Bool32((*Theapframe)(unsafe.Pointer(F)).Feptr <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 54475  	}() != 0) {
 54476  		goto __3214
 54477  	}
 54478  
 54479  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && (*Theapframe)(unsafe.Pointer(F)).Feptr+uintptr(1) >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_FIXED) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)))) {
 54480  		goto __3215
 54481  	}
 54482  
 54483  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54484  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54485  		goto __3216
 54486  	}
 54487  	return -2
 54488  __3216:
 54489  	;
 54490  __3215:
 54491  	;
 54492  	rrc = DMATCH_NOMATCH
 54493  	goto RETURN_SWITCH
 54494  
 54495  __3214:
 54496  	;
 54497  	goto __3213
 54498  __3212:
 54499  
 54500  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions&DPCRE2_NOTEOL != Tuint32_t(0)) {
 54501  		goto __3217
 54502  	}
 54503  	rrc = DMATCH_NOMATCH
 54504  	goto RETURN_SWITCH
 54505  __3217:
 54506  	;
 54507  
 54508  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 54509  		goto __3218
 54510  	}
 54511  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54512  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54513  		goto __3219
 54514  	}
 54515  	return -2
 54516  __3219:
 54517  	;
 54518  __3218:
 54519  	;
 54520  
 54521  __3213:
 54522  	;
 54523  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54524  	goto __13
 54525  
 54526  	// =====================================================================
 54527  	// Start of match assertion
 54528  
 54529  __149:
 54530  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_offset)) {
 54531  		goto __3220
 54532  	}
 54533  	rrc = DMATCH_NOMATCH
 54534  	goto RETURN_SWITCH
 54535  __3220:
 54536  	;
 54537  
 54538  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54539  	goto __13
 54540  
 54541  	// =====================================================================
 54542  	// Reset the start of match point
 54543  
 54544  __150:
 54545  	(*Theapframe)(unsafe.Pointer(F)).Fstart_match = (*Theapframe)(unsafe.Pointer(F)).Feptr
 54546  	(*Theapframe)(unsafe.Pointer(F)).Fecode++
 54547  	goto __13
 54548  
 54549  	// =====================================================================
 54550  	// Word boundary assertions. Find out if the previous and current
 54551  	//     characters are "word" characters. It takes a bit more work in UTF mode.
 54552  	//     Characters > 255 are assumed to be "non-word" characters when PCRE2_UCP is
 54553  	//     not set. When it is set, use Unicode properties if available, even when not
 54554  	//     in UTF mode. Remember the earliest and latest consulted characters.
 54555  
 54556  __151:
 54557  __152:
 54558  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr == (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject) {
 54559  		goto __3221
 54560  	}
 54561  	prev_is_word = DFALSE
 54562  	goto __3222
 54563  __3221:
 54564  
 54565  	lastptr = (*Theapframe)(unsafe.Pointer(F)).Feptr - uintptr(1)
 54566  	if !(utf != 0) {
 54567  		goto __3223
 54568  	}
 54569  
 54570  __3225:
 54571  	if !(uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr)))&0xc0 == 0x80) {
 54572  		goto __3226
 54573  	}
 54574  	lastptr--
 54575  	goto __3225
 54576  __3226:
 54577  	;
 54578  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr)))
 54579  	if !(fc >= 0xc0) {
 54580  		goto __3227
 54581  	}
 54582  	if !(fc&0x20 == Tuint32_t(0)) {
 54583  		goto __3228
 54584  	}
 54585  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f
 54586  	goto __3229
 54587  __3228:
 54588  	if !(fc&0x10 == Tuint32_t(0)) {
 54589  		goto __3230
 54590  	}
 54591  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 2)))&0x3f
 54592  	goto __3231
 54593  __3230:
 54594  	if !(fc&0x08 == Tuint32_t(0)) {
 54595  		goto __3232
 54596  	}
 54597  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 3)))&0x3f
 54598  	goto __3233
 54599  __3232:
 54600  	if !(fc&0x04 == Tuint32_t(0)) {
 54601  		goto __3234
 54602  	}
 54603  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 4)))&0x3f
 54604  	goto __3235
 54605  __3234:
 54606  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr + 5)))&0x3f
 54607  __3235:
 54608  	;
 54609  __3233:
 54610  	;
 54611  __3231:
 54612  	;
 54613  __3229:
 54614  	;
 54615  __3227:
 54616  	;
 54617  
 54618  	goto __3224
 54619  __3223:
 54620  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(lastptr)))
 54621  __3224:
 54622  	;
 54623  	if !(lastptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) {
 54624  		goto __3236
 54625  	}
 54626  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = lastptr
 54627  __3236:
 54628  	;
 54629  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) {
 54630  		goto __3237
 54631  	}
 54632  
 54633  	if !(fc == Tuint32_t('_')) {
 54634  		goto __3239
 54635  	}
 54636  	prev_is_word = DTRUE
 54637  	goto __3240
 54638  __3239:
 54639  
 54640  	cat = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 54641  	prev_is_word = libc.Bool32(cat == ucp_L || cat == ucp_N)
 54642  __3240:
 54643  	;
 54644  	goto __3238
 54645  __3237:
 54646  	prev_is_word = libc.Bool32(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0)
 54647  __3238:
 54648  	;
 54649  __3222:
 54650  	;
 54651  
 54652  	// Get status of next character
 54653  
 54654  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 54655  		goto __3241
 54656  	}
 54657  
 54658  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial != 0)) {
 54659  		goto __3243
 54660  	}
 54661  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DTRUE
 54662  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) > 1) {
 54663  		goto __3244
 54664  	}
 54665  	return -2
 54666  __3244:
 54667  	;
 54668  __3243:
 54669  	;
 54670  
 54671  	cur_is_word = DFALSE
 54672  	goto __3242
 54673  __3241:
 54674  
 54675  	nextptr = (*Theapframe)(unsafe.Pointer(F)).Feptr + uintptr(1)
 54676  	if !(utf != 0) {
 54677  		goto __3245
 54678  	}
 54679  
 54680  __3247:
 54681  	if !(nextptr < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(nextptr)))&0xc0 == 0x80) {
 54682  		goto __3248
 54683  	}
 54684  	nextptr++
 54685  	goto __3247
 54686  __3248:
 54687  	;
 54688  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 54689  	if !(fc >= 0xc0) {
 54690  		goto __3249
 54691  	}
 54692  	if !(fc&0x20 == Tuint32_t(0)) {
 54693  		goto __3250
 54694  	}
 54695  	fc = fc&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f
 54696  	goto __3251
 54697  __3250:
 54698  	if !(fc&0x10 == Tuint32_t(0)) {
 54699  		goto __3252
 54700  	}
 54701  	fc = fc&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f
 54702  	goto __3253
 54703  __3252:
 54704  	if !(fc&0x08 == Tuint32_t(0)) {
 54705  		goto __3254
 54706  	}
 54707  	fc = fc&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f
 54708  	goto __3255
 54709  __3254:
 54710  	if !(fc&0x04 == Tuint32_t(0)) {
 54711  		goto __3256
 54712  	}
 54713  	fc = fc&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f
 54714  	goto __3257
 54715  __3256:
 54716  	fc = fc&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr + 5)))&0x3f
 54717  __3257:
 54718  	;
 54719  __3255:
 54720  	;
 54721  __3253:
 54722  	;
 54723  __3251:
 54724  	;
 54725  __3249:
 54726  	;
 54727  
 54728  	goto __3246
 54729  __3245:
 54730  	fc = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Feptr)))
 54731  __3246:
 54732  	;
 54733  	if !(nextptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 54734  		goto __3258
 54735  	}
 54736  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = nextptr
 54737  __3258:
 54738  	;
 54739  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions&DPCRE2_UCP != Tuint32_t(0)) {
 54740  		goto __3259
 54741  	}
 54742  
 54743  	if !(fc == Tuint32_t('_')) {
 54744  		goto __3261
 54745  	}
 54746  	cur_is_word = DTRUE
 54747  	goto __3262
 54748  __3261:
 54749  
 54750  	cat1 = int32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(fc)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(fc)%DUCD_BLOCK_SIZE])*12)).Fchartype])
 54751  	cur_is_word = libc.Bool32(cat1 == ucp_L || cat1 == ucp_N)
 54752  __3262:
 54753  	;
 54754  	goto __3260
 54755  __3259:
 54756  	cur_is_word = libc.Bool32(fc <= 255 && int32(*(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes + uintptr(fc))))&Dctype_word != 0)
 54757  __3260:
 54758  	;
 54759  __3242:
 54760  	;
 54761  
 54762  	// Now see if the situation is what we want
 54763  
 54764  	if !(func() int32 {
 54765  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&(*Theapframe)(unsafe.Pointer(F)).Fecode, 1)))) == OP_WORD_BOUNDARY {
 54766  			return libc.Bool32(cur_is_word == prev_is_word)
 54767  		}
 54768  		return libc.Bool32(cur_is_word != prev_is_word)
 54769  	}() != 0) {
 54770  		goto __3263
 54771  	}
 54772  	rrc = DMATCH_NOMATCH
 54773  	goto RETURN_SWITCH
 54774  __3263:
 54775  	;
 54776  
 54777  	goto __13
 54778  
 54779  	// =====================================================================
 54780  	// Backtracking (*VERB)s, with and without arguments. Note that if the
 54781  	//     pattern is successfully matched, we do not come back from RMATCH.
 54782  
 54783  __153:
 54784  	(*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+208, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2))
 54785  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 54786  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM12
 54787  	goto MATCH_RECURSE
 54788  L_RM12:
 54789  	;
 54790  
 54791  	// A return of MATCH_SKIP_ARG means that matching failed at SKIP with an
 54792  	//     argument, and we must check whether that argument matches this MARK's
 54793  	//     argument. It is passed back in mb->verb_skip_ptr. If it does match, we
 54794  	//     return MATCH_SKIP with mb->verb_skip_ptr now pointing to the subject
 54795  	//     position that corresponds to this mark. Otherwise, pass back the return
 54796  	//     code unaltered.
 54797  
 54798  	if !(rrc == -994 && X_pcre2_strcmp_8(tls, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2), (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr) == 0) {
 54799  		goto __3264
 54800  	}
 54801  
 54802  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr /* Pass back current position */
 54803  	rrc = -995
 54804  	goto RETURN_SWITCH
 54805  
 54806  __3264:
 54807  	;
 54808  	rrc = rrc
 54809  	goto RETURN_SWITCH
 54810  
 54811  __154:
 54812  	rrc = DMATCH_NOMATCH
 54813  	goto RETURN_SWITCH
 54814  
 54815  	// Record the current recursing group number in mb->verb_current_recurse
 54816  	//     when a backtracking return such as MATCH_COMMIT is given. This enables the
 54817  	//     recurse processing to catch verbs from within the recursion.
 54818  
 54819  __155:
 54820  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 54821  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM13
 54822  	goto MATCH_RECURSE
 54823  L_RM13:
 54824  	;
 54825  
 54826  	if !(rrc != DMATCH_NOMATCH) {
 54827  		goto __3265
 54828  	}
 54829  	rrc = rrc
 54830  	goto RETURN_SWITCH
 54831  __3265:
 54832  	;
 54833  
 54834  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54835  	rrc = -997
 54836  	goto RETURN_SWITCH
 54837  
 54838  __156:
 54839  	(*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+208, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2))
 54840  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 54841  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM36
 54842  	goto MATCH_RECURSE
 54843  L_RM36:
 54844  	;
 54845  
 54846  	if !(rrc != DMATCH_NOMATCH) {
 54847  		goto __3266
 54848  	}
 54849  	rrc = rrc
 54850  	goto RETURN_SWITCH
 54851  __3266:
 54852  	;
 54853  
 54854  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54855  	rrc = -997
 54856  	goto RETURN_SWITCH
 54857  
 54858  __157:
 54859  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 54860  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM14
 54861  	goto MATCH_RECURSE
 54862  L_RM14:
 54863  	;
 54864  
 54865  	if !(rrc != DMATCH_NOMATCH) {
 54866  		goto __3267
 54867  	}
 54868  	rrc = rrc
 54869  	goto RETURN_SWITCH
 54870  __3267:
 54871  	;
 54872  
 54873  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54874  	rrc = -996
 54875  	goto RETURN_SWITCH
 54876  
 54877  __158:
 54878  	(*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+208, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2))
 54879  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 54880  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM15
 54881  	goto MATCH_RECURSE
 54882  L_RM15:
 54883  	;
 54884  
 54885  	if !(rrc != DMATCH_NOMATCH) {
 54886  		goto __3268
 54887  	}
 54888  	rrc = rrc
 54889  	goto RETURN_SWITCH
 54890  __3268:
 54891  	;
 54892  
 54893  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54894  	rrc = -996
 54895  	goto RETURN_SWITCH
 54896  
 54897  __159:
 54898  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 54899  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM16
 54900  	goto MATCH_RECURSE
 54901  L_RM16:
 54902  	;
 54903  
 54904  	if !(rrc != DMATCH_NOMATCH) {
 54905  		goto __3269
 54906  	}
 54907  	rrc = rrc
 54908  	goto RETURN_SWITCH
 54909  __3269:
 54910  	;
 54911  
 54912  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr // Pass back current position
 54913  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54914  	rrc = -995
 54915  	goto RETURN_SWITCH
 54916  
 54917  	// Note that, for Perl compatibility, SKIP with an argument does NOT set
 54918  	//     nomatch_mark. When a pattern match ends with a SKIP_ARG for which there was
 54919  	//     not a matching mark, we have to re-run the match, ignoring the SKIP_ARG
 54920  	//     that failed and any that precede it (either they also failed, or were not
 54921  	//     triggered). To do this, we maintain a count of executed SKIP_ARGs. If a
 54922  	//     SKIP_ARG gets to top level, the match is re-run with mb->ignore_skip_arg
 54923  	//     set to the count of the one that failed.
 54924  
 54925  __160:
 54926  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count++
 54927  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg) {
 54928  		goto __3270
 54929  	}
 54930  
 54931  	*(*TPCRE2_SPTR8)(unsafe.Pointer(F)) += TPCRE2_SPTR8(int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1))))
 54932  	goto __13
 54933  __3270:
 54934  	;
 54935  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 54936  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM17
 54937  	goto MATCH_RECURSE
 54938  L_RM17:
 54939  	;
 54940  
 54941  	if !(rrc != DMATCH_NOMATCH) {
 54942  		goto __3271
 54943  	}
 54944  	rrc = rrc
 54945  	goto RETURN_SWITCH
 54946  __3271:
 54947  	;
 54948  
 54949  	// Pass back the current skip name and return the special MATCH_SKIP_ARG
 54950  	//     return code. This will either be caught by a matching MARK, or get to the
 54951  	//     top, where it causes a rematch with mb->ignore_skip_arg set to the value of
 54952  	//     mb->skip_arg_count.
 54953  
 54954  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(2)
 54955  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54956  	rrc = -994
 54957  	goto RETURN_SWITCH
 54958  
 54959  	// For THEN (and THEN_ARG) we pass back the address of the opcode, so that
 54960  	//     the branch in which it occurs can be determined.
 54961  
 54962  __161:
 54963  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))])
 54964  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM18
 54965  	goto MATCH_RECURSE
 54966  L_RM18:
 54967  	;
 54968  
 54969  	if !(rrc != DMATCH_NOMATCH) {
 54970  		goto __3272
 54971  	}
 54972  	rrc = rrc
 54973  	goto RETURN_SWITCH
 54974  __3272:
 54975  	;
 54976  
 54977  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr = (*Theapframe)(unsafe.Pointer(F)).Fecode
 54978  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 54979  	rrc = -993
 54980  	goto RETURN_SWITCH
 54981  
 54982  __162:
 54983  	(*Theapframe)(unsafe.Pointer(F)).Fmark = libc.AssignPtrUintptr(mb+208, (*Theapframe)(unsafe.Pointer(F)).Fecode+uintptr(2))
 54984  	start_ecode = (*Theapframe)(unsafe.Pointer(F)).Fecode + uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode))]) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Theapframe)(unsafe.Pointer(F)).Fecode + 1)))
 54985  	(*Theapframe)(unsafe.Pointer(F)).Freturn_id = RM19
 54986  	goto MATCH_RECURSE
 54987  L_RM19:
 54988  	;
 54989  
 54990  	if !(rrc != DMATCH_NOMATCH) {
 54991  		goto __3273
 54992  	}
 54993  	rrc = rrc
 54994  	goto RETURN_SWITCH
 54995  __3273:
 54996  	;
 54997  
 54998  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_ecode_ptr = (*Theapframe)(unsafe.Pointer(F)).Fecode
 54999  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_current_recurse = (*Theapframe)(unsafe.Pointer(F)).Fcurrent_recurse
 55000  	rrc = -993
 55001  	goto RETURN_SWITCH
 55002  
 55003  	// =====================================================================
 55004  	// There's been some horrible disaster. Arrival here can only mean there is
 55005  	//     something seriously wrong in the code above or the OP_xxx definitions.
 55006  
 55007  __163:
 55008  	return -44
 55009  __13:
 55010  	;
 55011  
 55012  	// Do not insert any code in here without much thought; it is assumed
 55013  	//   that "continue" in the code above comes out to here to repeat the main
 55014  	//   loop.
 55015  
 55016  	goto __11
 55017  __11:
 55018  	goto __10
 55019  	goto __12
 55020  __12:
 55021  	; // End of main loop
 55022  	// Control never reaches here
 55023  
 55024  	// =========================================================================
 55025  	// The RRETURN() macro jumps here. The number that is saved in Freturn_id
 55026  	// indicates which label we actually want to return to. The value in Frdepth is
 55027  	// the index number of the frame in the vector. The return value has been placed
 55028  	// in rrc.
 55029  
 55030  RETURN_SWITCH:
 55031  	if !((*Theapframe)(unsafe.Pointer(F)).Feptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr) {
 55032  		goto __3274
 55033  	}
 55034  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = (*Theapframe)(unsafe.Pointer(F)).Feptr
 55035  __3274:
 55036  	;
 55037  	if !((*Theapframe)(unsafe.Pointer(F)).Frdepth == Tuint32_t(0)) {
 55038  		goto __3275
 55039  	}
 55040  	return rrc
 55041  __3275:
 55042  	;                                                                                                          // Exit from the top level
 55043  	F = F - uintptr((*Theapframe)(unsafe.Pointer(F)).Fback_frame)                                              // Backtrack
 55044  	*(*Tuint32_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcb + 104)) |= DPCRE2_CALLOUT_BACKTRACK // Note for callouts
 55045  
 55046  	switch int32((*Theapframe)(unsafe.Pointer(F)).Freturn_id) {
 55047  	case 1:
 55048  		goto __3277
 55049  	case 2:
 55050  		goto __3278
 55051  	case 3:
 55052  		goto __3279
 55053  	case 4:
 55054  		goto __3280
 55055  	case 5:
 55056  		goto __3281
 55057  	case 6:
 55058  		goto __3282
 55059  	case 7:
 55060  		goto __3283
 55061  	case 8:
 55062  		goto __3284
 55063  	case 9:
 55064  		goto __3285
 55065  	case 10:
 55066  		goto __3286
 55067  	case 11:
 55068  		goto __3287
 55069  	case 12:
 55070  		goto __3288
 55071  	case 13:
 55072  		goto __3289
 55073  	case 14:
 55074  		goto __3290
 55075  	case 15:
 55076  		goto __3291
 55077  	case 16:
 55078  		goto __3292
 55079  	case 17:
 55080  		goto __3293
 55081  	case 18:
 55082  		goto __3294
 55083  	case 19:
 55084  		goto __3295
 55085  	case 20:
 55086  		goto __3296
 55087  	case 21:
 55088  		goto __3297
 55089  	case 22:
 55090  		goto __3298
 55091  	case 23:
 55092  		goto __3299
 55093  	case 24:
 55094  		goto __3300
 55095  	case 25:
 55096  		goto __3301
 55097  	case 26:
 55098  		goto __3302
 55099  	case 27:
 55100  		goto __3303
 55101  	case 28:
 55102  		goto __3304
 55103  	case 29:
 55104  		goto __3305
 55105  	case 30:
 55106  		goto __3306
 55107  	case 31:
 55108  		goto __3307
 55109  	case 32:
 55110  		goto __3308
 55111  	case 33:
 55112  		goto __3309
 55113  	case 34:
 55114  		goto __3310
 55115  	case 35:
 55116  		goto __3311
 55117  	case 36:
 55118  		goto __3312
 55119  
 55120  	case 100:
 55121  		goto __3313
 55122  	case 101:
 55123  		goto __3314
 55124  
 55125  	case 200:
 55126  		goto __3315
 55127  	case 201:
 55128  		goto __3316
 55129  	case 202:
 55130  		goto __3317
 55131  	case 203:
 55132  		goto __3318
 55133  	case 204:
 55134  		goto __3319
 55135  	case 205:
 55136  		goto __3320
 55137  	case 206:
 55138  		goto __3321
 55139  	case 207:
 55140  		goto __3322
 55141  	case 208:
 55142  		goto __3323
 55143  	case 209:
 55144  		goto __3324
 55145  	case 210:
 55146  		goto __3325
 55147  	case 211:
 55148  		goto __3326
 55149  	case 212:
 55150  		goto __3327
 55151  	case 213:
 55152  		goto __3328
 55153  	case 214:
 55154  		goto __3329
 55155  	case 215:
 55156  		goto __3330
 55157  	case 216:
 55158  		goto __3331
 55159  	case 217:
 55160  		goto __3332
 55161  	case 218:
 55162  		goto __3333
 55163  	case 219:
 55164  		goto __3334
 55165  	case 220:
 55166  		goto __3335
 55167  	case 221:
 55168  		goto __3336
 55169  	case 222:
 55170  		goto __3337
 55171  	case 223:
 55172  		goto __3338
 55173  	case 224:
 55174  		goto __3339
 55175  	case 225:
 55176  		goto __3340
 55177  
 55178  	default:
 55179  		goto __3341
 55180  	}
 55181  	goto __3276
 55182  
 55183  __3277:
 55184  	goto L_RM1
 55185  __3278:
 55186  	goto L_RM2
 55187  __3279:
 55188  	goto L_RM3
 55189  __3280:
 55190  	goto L_RM4
 55191  __3281:
 55192  	goto L_RM5
 55193  __3282:
 55194  	goto L_RM6
 55195  __3283:
 55196  	goto L_RM7
 55197  __3284:
 55198  	goto L_RM8
 55199  __3285:
 55200  	goto L_RM9
 55201  __3286:
 55202  	goto L_RM10
 55203  __3287:
 55204  	goto L_RM11
 55205  __3288:
 55206  	goto L_RM12
 55207  __3289:
 55208  	goto L_RM13
 55209  __3290:
 55210  	goto L_RM14
 55211  __3291:
 55212  	goto L_RM15
 55213  __3292:
 55214  	goto L_RM16
 55215  __3293:
 55216  	goto L_RM17
 55217  __3294:
 55218  	goto L_RM18
 55219  __3295:
 55220  	goto L_RM19
 55221  __3296:
 55222  	goto L_RM20
 55223  __3297:
 55224  	goto L_RM21
 55225  __3298:
 55226  	goto L_RM22
 55227  __3299:
 55228  	goto L_RM23
 55229  __3300:
 55230  	goto L_RM24
 55231  __3301:
 55232  	goto L_RM25
 55233  __3302:
 55234  	goto L_RM26
 55235  __3303:
 55236  	goto L_RM27
 55237  __3304:
 55238  	goto L_RM28
 55239  __3305:
 55240  	goto L_RM29
 55241  __3306:
 55242  	goto L_RM30
 55243  __3307:
 55244  	goto L_RM31
 55245  __3308:
 55246  	goto L_RM32
 55247  __3309:
 55248  	goto L_RM33
 55249  __3310:
 55250  	goto L_RM34
 55251  __3311:
 55252  	goto L_RM35
 55253  __3312:
 55254  	goto L_RM36
 55255  
 55256  __3313:
 55257  	goto L_RM100
 55258  __3314:
 55259  	goto L_RM101
 55260  
 55261  __3315:
 55262  	goto L_RM200
 55263  __3316:
 55264  	goto L_RM201
 55265  __3317:
 55266  	goto L_RM202
 55267  __3318:
 55268  	goto L_RM203
 55269  __3319:
 55270  	goto L_RM204
 55271  __3320:
 55272  	goto L_RM205
 55273  __3321:
 55274  	goto L_RM206
 55275  __3322:
 55276  	goto L_RM207
 55277  __3323:
 55278  	goto L_RM208
 55279  __3324:
 55280  	goto L_RM209
 55281  __3325:
 55282  	goto L_RM210
 55283  __3326:
 55284  	goto L_RM211
 55285  __3327:
 55286  	goto L_RM212
 55287  __3328:
 55288  	goto L_RM213
 55289  __3329:
 55290  	goto L_RM214
 55291  __3330:
 55292  	goto L_RM215
 55293  __3331:
 55294  	goto L_RM216
 55295  __3332:
 55296  	goto L_RM217
 55297  __3333:
 55298  	goto L_RM218
 55299  __3334:
 55300  	goto L_RM219
 55301  __3335:
 55302  	goto L_RM220
 55303  __3336:
 55304  	goto L_RM221
 55305  __3337:
 55306  	goto L_RM222
 55307  __3338:
 55308  	goto L_RM223
 55309  __3339:
 55310  	goto L_RM224
 55311  __3340:
 55312  	goto L_RM225
 55313  
 55314  __3341:
 55315  	return -44
 55316  __3276:
 55317  	;
 55318  	return int32(0)
 55319  }
 55320  
 55321  // ************************************************
 55322  //
 55323  //           Match a Regular Expression           *
 55324  //
 55325  
 55326  // This function applies a compiled pattern to a subject string and picks out
 55327  // portions of the string if it matches. Two elements in the vector are set for
 55328  // each substring: the offsets to the start and end of the substring.
 55329  //
 55330  // Arguments:
 55331  //   code            points to the compiled expression
 55332  //   subject         points to the subject string
 55333  //   length          length of subject string (may contain binary zeros)
 55334  //   start_offset    where to start in the subject string
 55335  //   options         option bits
 55336  //   match_data      points to a match_data block
 55337  //   mcontext        points a PCRE2 context
 55338  //
 55339  // Returns:          > 0 => success; value is the number of ovector pairs filled
 55340  //                   = 0 => success, but ovector is not big enough
 55341  //                   = -1 => failed to match (PCRE2_ERROR_NOMATCH)
 55342  //                   = -2 => partial match (PCRE2_ERROR_PARTIAL)
 55343  //                   < -2 => some kind of unexpected problem
 55344  
 55345  func Xpcre2_match_8(tls *libc.TLS, code uintptr, subject TPCRE2_SPTR8, length Tsize_t, start_offset Tsize_t, options Tuint32_t, match_data uintptr, mcontext uintptr) int32 { /* pcre2_match.c:6297:1: */
 55346  	bp := tls.Alloc(20880)
 55347  	defer tls.Free(20880)
 55348  
 55349  	var rc int32
 55350  	var was_zero_terminated int32
 55351  	var start_bits uintptr
 55352  	var re uintptr
 55353  	var anchored TBOOL
 55354  	var firstline TBOOL
 55355  	var has_first_cu TBOOL
 55356  	var has_req_cu TBOOL
 55357  	var startline TBOOL
 55358  	var memchr_found_first_cu TPCRE2_SPTR8
 55359  	var memchr_found_first_cu2 TPCRE2_SPTR8
 55360  	var first_cu TPCRE2_UCHAR8
 55361  	var first_cu2 TPCRE2_UCHAR8
 55362  	var req_cu TPCRE2_UCHAR8
 55363  	var req_cu2 TPCRE2_UCHAR8
 55364  	var bumpalong_limit TPCRE2_SPTR8
 55365  	var end_subject TPCRE2_SPTR8
 55366  	var true_end_subject TPCRE2_SPTR8
 55367  	var start_match TPCRE2_SPTR8
 55368  	var req_cu_ptr TPCRE2_SPTR8
 55369  	var start_partial TPCRE2_SPTR8
 55370  	var match_partial TPCRE2_SPTR8
 55371  
 55372  	// This flag is needed even when Unicode is not supported for convenience
 55373  	// (it is used by the IS_NEWLINE macro).
 55374  
 55375  	var utf TBOOL
 55376  	var ucp TBOOL
 55377  	var allow_invalid TBOOL
 55378  	var fragment_options Tuint32_t
 55379  	var frame_size Tsize_t
 55380  
 55381  	// We need to have mb as a pointer to a match block, because the IS_NEWLINE
 55382  	// macro is used below, and it expects NLBLOCK to be defined as a pointer.
 55383  
 55384  	// var cb Tpcre2_callout_block_8 at bp+20768, 112
 55385  
 55386  	// var actual_match_block Tmatch_block_8 at bp, 288
 55387  
 55388  	var mb uintptr
 55389  
 55390  	// Allocate an initial vector of backtracking frames on the stack. If this
 55391  	// proves to be too small, it is replaced by a larger one on the heap. To get a
 55392  	// vector of the size required that is aligned for pointers, allocate it as a
 55393  	// vector of pointers.
 55394  
 55395  	// var stack_frames_vector [2560]TPCRE2_SPTR8 at bp+288, 20480
 55396  
 55397  	var i uint32
 55398  	var skipped_bad_start TBOOL
 55399  	var t TPCRE2_SPTR8
 55400  	var c TPCRE2_UCHAR8
 55401  	var ok TBOOL
 55402  	// In 16-bit and 32_bit modes we have to do our own search, so can
 55403  	//           look for both cases at once.
 55404  
 55405  	// In 8-bit mode, the use of memchr() gives a big speed up, even
 55406  	//           though we have to call it twice in order to find the earliest
 55407  	//           occurrence of the code unit in either of its cases. Caching is used
 55408  	//           to remember the positions of previously found code units. This can
 55409  	//           make a huge difference when the strings are very long and only one
 55410  	//           case is actually present.
 55411  
 55412  	var pp1 TPCRE2_SPTR8
 55413  	var pp2 TPCRE2_SPTR8
 55414  	var searchlength Tsize_t
 55415  	var c1 Tuint32_t
 55416  	var pp TPCRE2_SPTR8
 55417  	var check_length Tsize_t
 55418  	var p TPCRE2_SPTR8
 55419  	var new_start_match TPCRE2_SPTR8
 55420  	was_zero_terminated = 0
 55421  	start_bits = uintptr(0)
 55422  	re = code
 55423  	has_first_cu = DFALSE
 55424  	has_req_cu = DFALSE
 55425  	first_cu = TPCRE2_UCHAR8(0)
 55426  	first_cu2 = TPCRE2_UCHAR8(0)
 55427  	req_cu = TPCRE2_UCHAR8(0)
 55428  	req_cu2 = TPCRE2_UCHAR8(0)
 55429  	utf = DFALSE
 55430  	ucp = DFALSE
 55431  	fragment_options = Tuint32_t(0)
 55432  	mb = bp                                                        /* &actual_match_block */
 55433  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames = bp + 288 /* stack_frames_vector */
 55434  
 55435  	// Recognize NULL, length 0 as an empty string.
 55436  
 55437  	if !(subject == uintptr(0) && length == uint64(0)) {
 55438  		goto __1
 55439  	}
 55440  	subject = ts + 797 /* "" */
 55441  __1:
 55442  	;
 55443  
 55444  	// Plausibility checks
 55445  
 55446  	if !(options&libc.CplUint32(DPCRE2_ANCHORED|DPCRE2_ENDANCHORED|DPCRE2_NOTBOL|DPCRE2_NOTEOL|DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART|DPCRE2_NO_UTF_CHECK|DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT|DPCRE2_NO_JIT|DPCRE2_COPY_MATCHED_SUBJECT) != Tuint32_t(0)) {
 55447  		goto __2
 55448  	}
 55449  	return -34
 55450  __2:
 55451  	;
 55452  	if !(code == uintptr(0) || subject == uintptr(0) || match_data == uintptr(0)) {
 55453  		goto __3
 55454  	}
 55455  	return -51
 55456  __3:
 55457  	;
 55458  
 55459  	start_match = subject + uintptr(start_offset)
 55460  	req_cu_ptr = start_match - uintptr(1)
 55461  	if !(length == libc.CplUint64(uint64(0))) {
 55462  		goto __4
 55463  	}
 55464  
 55465  	length = X_pcre2_strlen_8(tls, subject)
 55466  	was_zero_terminated = 1
 55467  __4:
 55468  	;
 55469  	true_end_subject = libc.AssignUintptr(&end_subject, subject+uintptr(length))
 55470  
 55471  	if !(start_offset > length) {
 55472  		goto __5
 55473  	}
 55474  	return -33
 55475  __5:
 55476  	;
 55477  
 55478  	// Check that the first field in the block is the magic number.
 55479  
 55480  	if !(uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER) {
 55481  		goto __6
 55482  	}
 55483  	return -31
 55484  __6:
 55485  	;
 55486  
 55487  	// Check the code unit width.
 55488  
 55489  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MODE8|DPCRE2_MODE16|DPCRE2_MODE32) != Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8)) {
 55490  		goto __7
 55491  	}
 55492  	return -32
 55493  __7:
 55494  	;
 55495  
 55496  	// PCRE2_NOTEMPTY and PCRE2_NOTEMPTY_ATSTART are match-time flags in the
 55497  	// options variable for this function. Users of PCRE2 who are not calling the
 55498  	// function directly would like to have a way of setting these flags, in the same
 55499  	// way that they can set pcre2_compile() flags like PCRE2_NO_AUTOPOSSESS with
 55500  	// constructions like (*NO_AUTOPOSSESS). To enable this, (*NOTEMPTY) and
 55501  	// (*NOTEMPTY_ATSTART) set bits in the pattern's "flag" function which we now
 55502  	// transfer to the options for this function. The bits are guaranteed to be
 55503  	// adjacent, but do not have the same values. This bit of Boolean trickery assumes
 55504  	// that the match-time bits are not more significant than the flag bits. If by
 55505  	// accident this is not the case, a compile-time division by zero error will
 55506  	// occur.
 55507  
 55508  	options = options | (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)/(uint32((DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)&(libc.CplInt32(DPCRE2_NOTEMPTY_SET|DPCRE2_NE_ATST_SET)+1))/((DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART)&(libc.CplUint32(DPCRE2_NOTEMPTY|DPCRE2_NOTEMPTY_ATSTART)+uint32(1))))
 55509  
 55510  	// If the pattern was successfully studied with JIT support, we will run the
 55511  	// JIT executable instead of the rest of this function. Most options must be set
 55512  	// at compile time for the JIT code to be usable.
 55513  
 55514  	// Initialize UTF/UCP parameters.
 55515  
 55516  	utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 55517  	allow_invalid = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_INVALID_UTF != Tuint32_t(0))
 55518  	ucp = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0))
 55519  
 55520  	// Convert the partial matching flags into an integer.
 55521  
 55522  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial = func() uint16 {
 55523  		if options&DPCRE2_PARTIAL_HARD != Tuint32_t(0) {
 55524  			return uint16(2)
 55525  		}
 55526  		return func() uint16 {
 55527  			if options&DPCRE2_PARTIAL_SOFT != Tuint32_t(0) {
 55528  				return uint16(1)
 55529  			}
 55530  			return uint16(0)
 55531  		}()
 55532  	}()
 55533  
 55534  	// Partial matching and PCRE2_ENDANCHORED are currently not allowed at the same
 55535  	// time.
 55536  
 55537  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) != 0 && ((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options|options)&DPCRE2_ENDANCHORED != Tuint32_t(0)) {
 55538  		goto __8
 55539  	}
 55540  	return -34
 55541  __8:
 55542  	;
 55543  
 55544  	// It is an error to set an offset limit without setting the flag at compile
 55545  	// time.
 55546  
 55547  	if !(mcontext != uintptr(0) && (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit != libc.CplUint64(uint64(0)) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_USE_OFFSET_LIMIT == Tuint32_t(0)) {
 55548  		goto __9
 55549  	}
 55550  	return -56
 55551  __9:
 55552  	;
 55553  
 55554  	// If the match data block was previously used with PCRE2_COPY_MATCHED_SUBJECT,
 55555  	// free the memory that was obtained. Set the field to NULL for no match cases.
 55556  
 55557  	if !(uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fflags)&DPCRE2_MD_COPIED_SUBJECT != uint32(0)) {
 55558  		goto __10
 55559  	}
 55560  
 55561  	(*struct {
 55562  		f func(*libc.TLS, uintptr, uintptr)
 55563  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Ffree})).f(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject,
 55564  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 55565  	*(*Tuint8_t)(unsafe.Pointer(match_data + 73)) &= libc.Uint8FromUint32(libc.CplUint32(DPCRE2_MD_COPIED_SUBJECT))
 55566  __10:
 55567  	;
 55568  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = uintptr(0)
 55569  
 55570  	// Zero the error offset in case the first code unit is invalid UTF.
 55571  
 55572  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = uint64(0)
 55573  
 55574  	// ============================= JIT matching ==============================
 55575  
 55576  	// Prepare for JIT matching. Check a UTF string for validity unless no check is
 55577  	// requested or invalid UTF can be handled. We check only the portion of the
 55578  	// subject that might be be inspected during matching - from the offset minus the
 55579  	// maximum lookbehind to the given length. This saves time when a small part of a
 55580  	// large subject is being matched by the use of a starting offset. Note that the
 55581  	// maximum lookbehind is a number of characters, not code units.
 55582  
 55583  	// ========================= End of JIT matching ==========================
 55584  
 55585  	// Proceed with non-JIT matching. The default is to allow lookbehinds to the
 55586  	// start of the subject. A UTF check when there is a non-zero offset may change
 55587  	// this.
 55588  
 55589  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = subject
 55590  
 55591  	// If a UTF subject string was not checked for validity in the JIT code above,
 55592  	// check it here, and handle support for invalid UTF strings. The check above
 55593  	// happens only when invalid UTF is not supported and PCRE2_NO_CHECK_UTF is unset.
 55594  	// If we get here in those circumstances, it means the subject string is valid,
 55595  	// but for some reason JIT matching was not successful. There is no need to check
 55596  	// the subject again.
 55597  	//
 55598  	// We check only the portion of the subject that might be be inspected during
 55599  	// matching - from the offset minus the maximum lookbehind to the given length.
 55600  	// This saves time when a small part of a large subject is being matched by the
 55601  	// use of a starting offset. Note that the maximum lookbehind is a number of
 55602  	// characters, not code units.
 55603  	//
 55604  	// Note also that support for invalid UTF forces a check, overriding the setting
 55605  	// of PCRE2_NO_CHECK_UTF.
 55606  
 55607  	if !(utf != 0 && (options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0) || allow_invalid != 0)) {
 55608  		goto __11
 55609  	}
 55610  
 55611  	skipped_bad_start = DFALSE
 55612  
 55613  	// For 8-bit and 16-bit UTF, check that the first code unit is a valid
 55614  	//   character start. If we are handling invalid UTF, just skip over such code
 55615  	//   units. Otherwise, give an appropriate error.
 55616  
 55617  	if !(allow_invalid != 0) {
 55618  		goto __12
 55619  	}
 55620  
 55621  __14:
 55622  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 55623  		goto __15
 55624  	}
 55625  
 55626  	start_match++
 55627  	skipped_bad_start = DTRUE
 55628  	goto __14
 55629  __15:
 55630  	;
 55631  	goto __13
 55632  __12:
 55633  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 55634  		goto __16
 55635  	}
 55636  
 55637  	if !(start_offset > uint64(0)) {
 55638  		goto __17
 55639  	}
 55640  	return -36
 55641  __17:
 55642  	;
 55643  	return -22 // Isolated 0x80 byte
 55644  __16:
 55645  	;
 55646  __13:
 55647  	;
 55648  
 55649  	// The mb->check_subject field points to the start of UTF checking;
 55650  	//   lookbehinds can go back no further than this.
 55651  
 55652  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = start_match
 55653  
 55654  	// Move back by the maximum lookbehind, just in case it happens at the very
 55655  	//   start of matching, but don't do this if we skipped bad 8-bit or 16-bit code
 55656  	//   units above.
 55657  
 55658  	if !!(skipped_bad_start != 0) {
 55659  		goto __18
 55660  	}
 55661  
 55662  	i = uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind)
 55663  __19:
 55664  	if !(i > uint32(0) && (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject > subject) {
 55665  		goto __21
 55666  	}
 55667  
 55668  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject--
 55669  __22:
 55670  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject > subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject)))&0xc0 == 0x80) {
 55671  		goto __23
 55672  	}
 55673  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject--
 55674  	goto __22
 55675  __23:
 55676  	;
 55677  	goto __20
 55678  __20:
 55679  	i--
 55680  	goto __19
 55681  	goto __21
 55682  __21:
 55683  	;
 55684  __18:
 55685  	;
 55686  
 55687  	// Validate the relevant portion of the subject. There's a loop in case we
 55688  	//   encounter bad UTF in the characters preceding start_match which we are
 55689  	//   scanning because of a lookbehind.
 55690  
 55691  __24:
 55692  
 55693  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = X_pcre2_valid_utf_8(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject,
 55694  		length-Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject)-int64(subject))/1), match_data+64)
 55695  
 55696  	if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc == 0) {
 55697  		goto __27
 55698  	}
 55699  	goto __26
 55700  __27:
 55701  	; // Valid UTF string
 55702  
 55703  	// Invalid UTF string. Adjust the offset to be an absolute offset in the
 55704  	//     whole string. If we are handling invalid UTF strings, set end_subject to
 55705  	//     stop before the bad code unit, and set the options to "not end of line".
 55706  	//     Otherwise return the error.
 55707  
 55708  	*(*Tsize_t)(unsafe.Pointer(match_data + 64)) += Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject) - int64(subject)) / 1)
 55709  	if !(!(allow_invalid != 0) || (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc > 0) {
 55710  		goto __28
 55711  	}
 55712  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 55713  __28:
 55714  	;
 55715  	end_subject = subject + uintptr((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar)
 55716  
 55717  	// If the end precedes start_match, it means there is invalid UTF in the
 55718  	//     extra code units we reversed over because of a lookbehind. Advance past the
 55719  	//     first bad code unit, and then skip invalid character starting code units in
 55720  	//     8-bit and 16-bit modes, and try again with the original end point.
 55721  
 55722  	if !(end_subject < start_match) {
 55723  		goto __29
 55724  	}
 55725  
 55726  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = end_subject + uintptr(1)
 55727  __31:
 55728  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject < start_match && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject)))&0xc0 == 0x80) {
 55729  		goto __32
 55730  	}
 55731  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject++
 55732  	goto __31
 55733  __32:
 55734  	;
 55735  	end_subject = true_end_subject
 55736  	goto __30
 55737  __29:
 55738  
 55739  	fragment_options = DPCRE2_NOTEOL
 55740  	goto __26
 55741  __30:
 55742  	;
 55743  	goto __25
 55744  __25:
 55745  	goto __24
 55746  	goto __26
 55747  __26:
 55748  	;
 55749  __11:
 55750  	;
 55751  
 55752  	// A NULL match context means "use a default context", but we take the memory
 55753  	// control functions from the pattern.
 55754  
 55755  	if !(mcontext == uintptr(0)) {
 55756  		goto __33
 55757  	}
 55758  
 55759  	mcontext = uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8))
 55760  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmemctl
 55761  	goto __34
 55762  __33:
 55763  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmemctl
 55764  __34:
 55765  	;
 55766  
 55767  	anchored = libc.Bool32(((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options|options)&DPCRE2_ANCHORED != Tuint32_t(0))
 55768  	firstline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_FIRSTLINE != Tuint32_t(0))
 55769  	startline = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_STARTLINE) != Tuint32_t(0))
 55770  	if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit == libc.CplUint64(uint64(0)) {
 55771  		bumpalong_limit = true_end_subject
 55772  	} else {
 55773  		bumpalong_limit = subject + uintptr((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Foffset_limit)
 55774  	}
 55775  
 55776  	// Initialize and set up the fixed fields in the callout block, with a pointer
 55777  	// in the match block.
 55778  
 55779  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcb = bp + 20768 /* &cb */
 55780  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fversion = Tuint32_t(2)
 55781  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fsubject = subject
 55782  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fsubject_length = Tsize_t((int64(end_subject) - int64(subject)) / 1)
 55783  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fcallout_flags = Tuint32_t(0)
 55784  
 55785  	// Fill in the remaining fields in the match block, except for moptions, which
 55786  	// gets set later.
 55787  
 55788  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout
 55789  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcallout_data = (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fcallout_data
 55790  
 55791  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject = subject
 55792  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_offset = start_offset
 55793  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject = end_subject
 55794  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhasthen = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASTHEN) != Tuint32_t(0))
 55795  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fallowemptypartial = libc.Bool32(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind) > 0 || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MATCH_EMPTY) != Tuint32_t(0))
 55796  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fpoptions = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options // Pattern options
 55797  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg = Tuint32_t(0)
 55798  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark = libc.AssignPtrUintptr(mb+208, uintptr(0)) // In case never set
 55799  
 55800  	// The name table is needed for finding all the numbers associated with a
 55801  	// given name, for condition testing. The code follows the name table.
 55802  
 55803  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{})))
 55804  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_count = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count
 55805  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_entry_size = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size
 55806  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_code = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fname_table + uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size))
 55807  
 55808  	// Process the \R and newline settings.
 55809  
 55810  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fbsr_convention = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention
 55811  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_FIXED)
 55812  	switch int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention) {
 55813  	case DPCRE2_NEWLINE_CR:
 55814  		goto __36
 55815  
 55816  	case DPCRE2_NEWLINE_LF:
 55817  		goto __37
 55818  
 55819  	case DPCRE2_NEWLINE_NUL:
 55820  		goto __38
 55821  
 55822  	case DPCRE2_NEWLINE_CRLF:
 55823  		goto __39
 55824  
 55825  	case DPCRE2_NEWLINE_ANY:
 55826  		goto __40
 55827  
 55828  	case DPCRE2_NEWLINE_ANYCRLF:
 55829  		goto __41
 55830  
 55831  	default:
 55832  		goto __42
 55833  	}
 55834  	goto __35
 55835  
 55836  __36:
 55837  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 55838  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)) = TPCRE2_UCHAR8('\015')
 55839  	goto __35
 55840  
 55841  __37:
 55842  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 55843  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)) = TPCRE2_UCHAR8('\012')
 55844  	goto __35
 55845  
 55846  __38:
 55847  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(1)
 55848  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)) = TPCRE2_UCHAR8(0)
 55849  	goto __35
 55850  
 55851  __39:
 55852  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen = Tuint32_t(2)
 55853  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260)) = TPCRE2_UCHAR8('\015')
 55854  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)) = TPCRE2_UCHAR8('\012')
 55855  	goto __35
 55856  
 55857  __40:
 55858  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANY)
 55859  	goto __35
 55860  
 55861  __41:
 55862  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype = Tuint32_t(DNLTYPE_ANYCRLF)
 55863  	goto __35
 55864  
 55865  __42:
 55866  	return -44
 55867  __35:
 55868  	;
 55869  
 55870  	// The backtracking frames have fixed data at the front, and a PCRE2_SIZE
 55871  	// vector at the end, whose size depends on the number of capturing parentheses in
 55872  	// the pattern. It is not used at all if there are no capturing parentheses.
 55873  	//
 55874  	//   frame_size             is the total size of each frame
 55875  	//   mb->frame_vector_size  is the total usable size of the vector (rounded down
 55876  	//                            to a whole number of frames)
 55877  	//
 55878  	// The last of these is changed within the match() function if the frame vector
 55879  	// has to be expanded. We therefore put it into the match block so that it is
 55880  	// correct when calling match() more than once for non-anchored patterns.
 55881  	//
 55882  	// We must also pad frame_size for alignment to ensure subsequent frames are as
 55883  	// aligned as heapframe. Whilst ovector is word-aligned due to being a PCRE2_SIZE
 55884  	// array, that does not guarantee it is suitably aligned for pointers, as some
 55885  	// architectures have pointers that are larger than a size_t.
 55886  
 55887  	frame_size = (uint64(uintptr(0)+128) + uint64(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket)*2)*uint64(unsafe.Sizeof(Tsize_t(0))) + uint64(uintptr(0)+8) - uint64(1)) & libc.CplUint64(uint64(uintptr(0)+8)-uint64(1))
 55888  
 55889  	// Limits set in the pattern override the match context only if they are
 55890  	// smaller.
 55891  
 55892  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit = func() uint64 {
 55893  		if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit < (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap {
 55894  			return uint64((*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fheap_limit)
 55895  		}
 55896  		return uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap)
 55897  	}()
 55898  
 55899  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit = func() uint32 {
 55900  		if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit < (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match {
 55901  			return (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fmatch_limit
 55902  		}
 55903  		return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match
 55904  	}()
 55905  
 55906  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_limit_depth = func() uint32 {
 55907  		if (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit < (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth {
 55908  			return (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fdepth_limit
 55909  		}
 55910  		return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth
 55911  	}()
 55912  
 55913  	// If a pattern has very many capturing parentheses, the frame size may be very
 55914  	// large. Ensure that there are at least 10 available frames by getting an initial
 55915  	// vector on the heap if necessary, except when the heap limit prevents this. Get
 55916  	// fewer if possible. (The heap limit is in kibibytes.)
 55917  
 55918  	if !(frame_size <= uint64(DSTART_FRAMES_SIZE/10)) {
 55919  		goto __43
 55920  	}
 55921  
 55922  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames // Initial frame vector on the stack
 55923  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = uint64(DSTART_FRAMES_SIZE) / frame_size * frame_size
 55924  	goto __44
 55925  __43:
 55926  
 55927  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = frame_size * uint64(10)
 55928  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size/uint64(1024) > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit) {
 55929  		goto __45
 55930  	}
 55931  
 55932  	if !(frame_size > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit*uint64(1024)) {
 55933  		goto __46
 55934  	}
 55935  	return -63
 55936  __46:
 55937  	;
 55938  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fheap_limit * uint64(1024) / frame_size * frame_size
 55939  __45:
 55940  	;
 55941  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames = (*struct {
 55942  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 55943  	})(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmalloc})).f(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size,
 55944  		(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 55945  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames == uintptr(0)) {
 55946  		goto __47
 55947  	}
 55948  	return -48
 55949  __47:
 55950  	;
 55951  __44:
 55952  	;
 55953  
 55954  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames_top = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames + uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fframe_vector_size)
 55955  
 55956  	// Write to the ovector within the first frame to mark every capture unset and
 55957  	// to avoid uninitialized memory read errors when it is copied to a new frame.
 55958  
 55959  	libc.Xmemset(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames+uintptr(uint64(uintptr(0)+128)), 0xff,
 55960  		frame_size-Tsize_t(uintptr(0)+128))
 55961  
 55962  	// Pointers to the individual character tables
 55963  
 55964  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flcc = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dlcc_offset)
 55965  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dfcc_offset)
 55966  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fctypes = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dcbits_offset+Dcbit_length)
 55967  
 55968  	// Set up the first code unit to match, if available. If there's no first code
 55969  	// unit there may be a bitmap of possible first characters.
 55970  
 55971  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0)) {
 55972  		goto __48
 55973  	}
 55974  
 55975  	has_first_cu = DTRUE
 55976  	first_cu = libc.AssignUint8(&first_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit))
 55977  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTCASELESS) != Tuint32_t(0)) {
 55978  		goto __50
 55979  	}
 55980  
 55981  	first_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(first_cu)))
 55982  	if !(int32(first_cu) > 127 && ucp != 0 && !(utf != 0)) {
 55983  		goto __51
 55984  	}
 55985  	first_cu2 = TPCRE2_UCHAR8(Tuint32_t(int32(first_cu) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(first_cu)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(first_cu)%DUCD_BLOCK_SIZE])*12)).Fother_case))
 55986  __51:
 55987  	;
 55988  __50:
 55989  	;
 55990  	goto __49
 55991  __48:
 55992  	if !(!(startline != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0)) {
 55993  		goto __52
 55994  	}
 55995  	start_bits = re + 40 /* &.start_bitmap */
 55996  __52:
 55997  	;
 55998  __49:
 55999  	;
 56000  
 56001  	// There may also be a "last known required character" set.
 56002  
 56003  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0)) {
 56004  		goto __53
 56005  	}
 56006  
 56007  	has_req_cu = DTRUE
 56008  	req_cu = libc.AssignUint8(&req_cu2, TPCRE2_UCHAR8((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit))
 56009  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTCASELESS) != Tuint32_t(0)) {
 56010  		goto __54
 56011  	}
 56012  
 56013  	req_cu2 = *(*Tuint8_t)(unsafe.Pointer((*Tmatch_block_8)(unsafe.Pointer(mb)).Ffcc + uintptr(req_cu)))
 56014  	if !(int32(req_cu) > 127 && ucp != 0 && !(utf != 0)) {
 56015  		goto __55
 56016  	}
 56017  	req_cu2 = TPCRE2_UCHAR8(Tuint32_t(int32(req_cu) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(req_cu)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(req_cu)%DUCD_BLOCK_SIZE])*12)).Fother_case))
 56018  __55:
 56019  	;
 56020  __54:
 56021  	;
 56022  __53:
 56023  	;
 56024  
 56025  	// ==========================================================================
 56026  
 56027  	// Loop for handling unanchored repeated matching attempts; for anchored regexs
 56028  	// the loop runs just once.
 56029  
 56030  FRAGMENT_RESTART:
 56031  
 56032  	start_partial = libc.AssignUintptr(&match_partial, uintptr(0))
 56033  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend = DFALSE
 56034  
 56035  	memchr_found_first_cu = uintptr(0)
 56036  	memchr_found_first_cu2 = uintptr(0)
 56037  
 56038  __56:
 56039  
 56040  	// ----------------- Start of match optimizations ----------------
 56041  
 56042  	// There are some optimizations that avoid running the match if a known
 56043  	//   starting point is not found, or if a known later code unit is not present.
 56044  	//   However, there is an option (settable at compile time) that disables these,
 56045  	//   for testing and for ensuring that all callouts do actually occur.
 56046  
 56047  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_NO_START_OPTIMIZE == Tuint32_t(0)) {
 56048  		goto __59
 56049  	}
 56050  
 56051  	// If firstline is TRUE, the start of the match is constrained to the first
 56052  	//     line of a multiline string. That is, the match must be before or at the
 56053  	//     first newline following the start of matching. Temporarily adjust
 56054  	//     end_subject so that we stop the scans for a first code unit at a newline.
 56055  	//     If the match fails at the newline, later code breaks the loop.
 56056  
 56057  	if !(firstline != 0) {
 56058  		goto __60
 56059  	}
 56060  
 56061  	t = start_match
 56062  	if !(utf != 0) {
 56063  		goto __61
 56064  	}
 56065  
 56066  __63:
 56067  	if !(t < end_subject && !(func() int32 {
 56068  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56069  			return libc.Bool32(t < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, t, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 56070  		}
 56071  		return libc.Bool32(t <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 56072  	}() != 0)) {
 56073  		goto __64
 56074  	}
 56075  
 56076  	t++
 56077  __65:
 56078  	if !(t < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t)))&0xc0 == 0x80) {
 56079  		goto __66
 56080  	}
 56081  	t++
 56082  	goto __65
 56083  __66:
 56084  	;
 56085  	goto __63
 56086  __64:
 56087  	;
 56088  	goto __62
 56089  __61:
 56090  __67:
 56091  	if !(t < end_subject && !(func() int32 {
 56092  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56093  			return libc.Bool32(t < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, t, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 56094  		}
 56095  		return libc.Bool32(t <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(t + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 56096  	}() != 0)) {
 56097  		goto __68
 56098  	}
 56099  	t++
 56100  	goto __67
 56101  __68:
 56102  	;
 56103  __62:
 56104  	;
 56105  	end_subject = t
 56106  __60:
 56107  	;
 56108  
 56109  	// Anchored: check the first code unit if one is recorded. This may seem
 56110  	//     pointless but it can help in detecting a no match case without scanning for
 56111  	//     the required code unit.
 56112  
 56113  	if !(anchored != 0) {
 56114  		goto __69
 56115  	}
 56116  
 56117  	if !(has_first_cu != 0 || start_bits != uintptr(0)) {
 56118  		goto __71
 56119  	}
 56120  
 56121  	ok = libc.Bool32(start_match < end_subject)
 56122  	if !(ok != 0) {
 56123  		goto __72
 56124  	}
 56125  
 56126  	c = *(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))
 56127  	ok = libc.Bool32(has_first_cu != 0 && (int32(c) == int32(first_cu) || int32(c) == int32(first_cu2)))
 56128  	if !(!(ok != 0) && start_bits != uintptr(0)) {
 56129  		goto __73
 56130  	}
 56131  
 56132  	ok = libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(int32(c)/8))))&(uint32(1)<<(int32(c)&7)) != uint32(0))
 56133  __73:
 56134  	;
 56135  __72:
 56136  	;
 56137  	if !!(ok != 0) {
 56138  		goto __74
 56139  	}
 56140  
 56141  	rc = DMATCH_NOMATCH
 56142  	goto __58
 56143  __74:
 56144  	;
 56145  __71:
 56146  	;
 56147  	goto __70
 56148  __69:
 56149  
 56150  	if !(has_first_cu != 0) {
 56151  		goto __75
 56152  	}
 56153  
 56154  	if !(int32(first_cu) != int32(first_cu2)) {
 56155  		goto __77
 56156  	} /* Caseless */
 56157  
 56158  	// In 16-bit and 32_bit modes we have to do our own search, so can
 56159  	//           look for both cases at once.
 56160  
 56161  	// In 8-bit mode, the use of memchr() gives a big speed up, even
 56162  	//           though we have to call it twice in order to find the earliest
 56163  	//           occurrence of the code unit in either of its cases. Caching is used
 56164  	//           to remember the positions of previously found code units. This can
 56165  	//           make a huge difference when the strings are very long and only one
 56166  	//           case is actually present.
 56167  
 56168  	pp1 = uintptr(0)
 56169  	pp2 = uintptr(0)
 56170  	searchlength = Tsize_t((int64(end_subject) - int64(start_match)) / 1)
 56171  
 56172  	// If we haven't got a previously found position for first_cu, or if
 56173  	//           the current starting position is later, we need to do a search. If
 56174  	//           the code unit is not found, set it to the end.
 56175  
 56176  	if !(memchr_found_first_cu == uintptr(0) || start_match > memchr_found_first_cu) {
 56177  		goto __79
 56178  	}
 56179  
 56180  	pp1 = libc.Xmemchr(tls, start_match, int32(first_cu), searchlength)
 56181  	if pp1 == uintptr(0) {
 56182  		memchr_found_first_cu = end_subject
 56183  	} else {
 56184  		memchr_found_first_cu = pp1
 56185  	}
 56186  	goto __80
 56187  __79:
 56188  	if memchr_found_first_cu == end_subject {
 56189  		pp1 = uintptr(0)
 56190  	} else {
 56191  		pp1 = memchr_found_first_cu
 56192  	}
 56193  __80:
 56194  	;
 56195  
 56196  	// Do the same thing for the other case.
 56197  
 56198  	if !(memchr_found_first_cu2 == uintptr(0) || start_match > memchr_found_first_cu2) {
 56199  		goto __81
 56200  	}
 56201  
 56202  	pp2 = libc.Xmemchr(tls, start_match, int32(first_cu2), searchlength)
 56203  	if pp2 == uintptr(0) {
 56204  		memchr_found_first_cu2 = end_subject
 56205  	} else {
 56206  		memchr_found_first_cu2 = pp2
 56207  	}
 56208  	goto __82
 56209  __81:
 56210  	if memchr_found_first_cu2 == end_subject {
 56211  		pp2 = uintptr(0)
 56212  	} else {
 56213  		pp2 = memchr_found_first_cu2
 56214  	}
 56215  __82:
 56216  	;
 56217  
 56218  	// Set the start to the end of the subject if neither case was found.
 56219  	//           Otherwise, use the earlier found point.
 56220  
 56221  	if !(pp1 == uintptr(0)) {
 56222  		goto __83
 56223  	}
 56224  	if pp2 == uintptr(0) {
 56225  		start_match = end_subject
 56226  	} else {
 56227  		start_match = pp2
 56228  	}
 56229  	goto __84
 56230  __83:
 56231  	if pp2 == uintptr(0) || pp1 < pp2 {
 56232  		start_match = pp1
 56233  	} else {
 56234  		start_match = pp2
 56235  	}
 56236  __84:
 56237  	;
 56238  
 56239  	goto __78
 56240  __77:
 56241  
 56242  	start_match = libc.Xmemchr(tls, start_match, int32(first_cu), uint64((int64(end_subject)-int64(start_match))/1))
 56243  	if !(start_match == uintptr(0)) {
 56244  		goto __85
 56245  	}
 56246  	start_match = end_subject
 56247  __85:
 56248  	;
 56249  __78:
 56250  	;
 56251  
 56252  	// If we can't find the required first code unit, having reached the
 56253  	//         true end of the subject, break the bumpalong loop, to force a match
 56254  	//         failure, except when doing partial matching, when we let the next cycle
 56255  	//         run at the end of the subject. To see why, consider the pattern
 56256  	//         /(?<=abc)def/, which partially matches "abc", even though the string
 56257  	//         does not contain the starting character "d". If we have not reached the
 56258  	//         true end of the subject (PCRE2_FIRSTLINE caused end_subject to be
 56259  	//         temporarily modified) we also let the cycle run, because the matching
 56260  	//         string is legitimately allowed to start with the first code unit of a
 56261  	//         newline.
 56262  
 56263  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) == 0 && start_match >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 56264  		goto __86
 56265  	}
 56266  
 56267  	rc = DMATCH_NOMATCH
 56268  	goto __58
 56269  __86:
 56270  	;
 56271  	goto __76
 56272  __75:
 56273  	if !(startline != 0) {
 56274  		goto __87
 56275  	}
 56276  
 56277  	if !(start_match > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr(start_offset)) {
 56278  		goto __89
 56279  	}
 56280  
 56281  	if !(utf != 0) {
 56282  		goto __90
 56283  	}
 56284  
 56285  __92:
 56286  	if !(start_match < end_subject && !(func() int32 {
 56287  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56288  			return libc.Bool32(start_match > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, start_match, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+256, utf) != 0)
 56289  		}
 56290  		return libc.Bool32(start_match >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 56291  	}() != 0)) {
 56292  		goto __93
 56293  	}
 56294  
 56295  	start_match++
 56296  __94:
 56297  	if !(start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 56298  		goto __95
 56299  	}
 56300  	start_match++
 56301  	goto __94
 56302  __95:
 56303  	;
 56304  	goto __92
 56305  __93:
 56306  	;
 56307  	goto __91
 56308  __90:
 56309  __96:
 56310  	if !(start_match < end_subject && !(func() int32 {
 56311  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56312  			return libc.Bool32(start_match > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject && X_pcre2_was_newline_8(tls, start_match, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject, mb+256, utf) != 0)
 56313  		}
 56314  		return libc.Bool32(start_match >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_subject+uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match - uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 56315  	}() != 0)) {
 56316  		goto __97
 56317  	}
 56318  	start_match++
 56319  	goto __96
 56320  __97:
 56321  	;
 56322  __91:
 56323  	;
 56324  
 56325  	// If we have just passed a CR and the newline option is ANY or
 56326  	//           ANYCRLF, and we are now at a LF, advance the match position by one
 56327  	//           more code unit.
 56328  
 56329  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + libc.UintptrFromInt32(-1)))) == '\015' && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANY) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANYCRLF)) && start_match < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == '\012') {
 56330  		goto __98
 56331  	}
 56332  	start_match++
 56333  __98:
 56334  	;
 56335  __89:
 56336  	;
 56337  	goto __88
 56338  __87:
 56339  	if !(start_bits != uintptr(0)) {
 56340  		goto __99
 56341  	}
 56342  
 56343  __100:
 56344  	if !(start_match < end_subject) {
 56345  		goto __101
 56346  	}
 56347  
 56348  	c1 = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))
 56349  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer(start_bits + uintptr(c1/Tuint32_t(8)))))&(uint32(1)<<(c1&Tuint32_t(7))) != uint32(0)) {
 56350  		goto __102
 56351  	}
 56352  	goto __101
 56353  __102:
 56354  	;
 56355  	start_match++
 56356  	goto __100
 56357  __101:
 56358  	;
 56359  
 56360  	// See comment above in first_cu checking about the next few lines.
 56361  
 56362  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) == 0 && start_match >= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject) {
 56363  		goto __103
 56364  	}
 56365  
 56366  	rc = DMATCH_NOMATCH
 56367  	goto __58
 56368  __103:
 56369  	;
 56370  __99:
 56371  	;
 56372  __88:
 56373  	;
 56374  __76:
 56375  	;
 56376  __70:
 56377  	; // End first code unit handling
 56378  
 56379  	// Restore fudged end_subject
 56380  
 56381  	end_subject = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject
 56382  
 56383  	// The following two optimizations must be disabled for partial matching.
 56384  
 56385  	if !(int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fpartial) == 0) {
 56386  		goto __104
 56387  	}
 56388  
 56389  	// The minimum matching length is a lower bound; no string of that length
 56390  	//       may actually match the pattern. Although the value is, strictly, in
 56391  	//       characters, we treat it as code units to avoid spending too much time in
 56392  	//       this optimization.
 56393  
 56394  	if !((int64(end_subject)-int64(start_match))/1 < int64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength)) {
 56395  		goto __105
 56396  	}
 56397  
 56398  	rc = DMATCH_NOMATCH
 56399  	goto __58
 56400  __105:
 56401  	;
 56402  
 56403  	// If req_cu is set, we know that that code unit must appear in the
 56404  	//       subject for the (non-partial) match to succeed. If the first code unit is
 56405  	//       set, req_cu must be later in the subject; otherwise the test starts at
 56406  	//       the match point. This optimization can save a huge amount of backtracking
 56407  	//       in patterns with nested unlimited repeats that aren't going to match.
 56408  	//       Writing separate code for caseful/caseless versions makes it go faster,
 56409  	//       as does using an autoincrement and backing off on a match. As in the case
 56410  	//       of the first code unit, using memchr() in the 8-bit library gives a big
 56411  	//       speed up. Unlike the first_cu check above, we do not need to call
 56412  	//       memchr() twice in the caseless case because we only need to check for the
 56413  	//       presence of the character in either case, not find the first occurrence.
 56414  	//
 56415  	//       The search can be skipped if the code unit was found later than the
 56416  	//       current starting point in a previous iteration of the bumpalong loop.
 56417  	//
 56418  	//       HOWEVER: when the subject string is very, very long, searching to its end
 56419  	//       can take a long time, and give bad performance on quite ordinary
 56420  	//       anchored patterns. This showed up when somebody was matching something
 56421  	//       like /^\d+C/ on a 32-megabyte string... so we don't do this when the
 56422  	//       string is sufficiently long, but it's worth searching a lot more for
 56423  	//       unanchored patterns.
 56424  
 56425  	p = start_match + uintptr(func() int32 {
 56426  		if has_first_cu != 0 {
 56427  			return 1
 56428  		}
 56429  		return 0
 56430  	}())
 56431  	if !(has_req_cu != 0 && p > req_cu_ptr) {
 56432  		goto __106
 56433  	}
 56434  
 56435  	check_length = Tsize_t((int64(end_subject) - int64(start_match)) / 1)
 56436  
 56437  	if !(check_length < uint64(DREQ_CU_MAX) || !(anchored != 0) && check_length < uint64(DREQ_CU_MAX*1000)) {
 56438  		goto __107
 56439  	}
 56440  
 56441  	if !(int32(req_cu) != int32(req_cu2)) {
 56442  		goto __108
 56443  	} /* Caseless */
 56444  
 56445  	pp = p
 56446  	p = libc.Xmemchr(tls, pp, int32(req_cu), uint64((int64(end_subject)-int64(pp))/1))
 56447  	if !(p == uintptr(0)) {
 56448  		goto __110
 56449  	}
 56450  
 56451  	p = libc.Xmemchr(tls, pp, int32(req_cu2), uint64((int64(end_subject)-int64(pp))/1))
 56452  	if !(p == uintptr(0)) {
 56453  		goto __111
 56454  	}
 56455  	p = end_subject
 56456  __111:
 56457  	;
 56458  __110:
 56459  	;
 56460  	goto __109
 56461  __108:
 56462  
 56463  	p = libc.Xmemchr(tls, p, int32(req_cu), uint64((int64(end_subject)-int64(p))/1))
 56464  	if !(p == uintptr(0)) {
 56465  		goto __112
 56466  	}
 56467  	p = end_subject
 56468  __112:
 56469  	;
 56470  __109:
 56471  	;
 56472  
 56473  	// If we can't find the required code unit, break the bumpalong loop,
 56474  	//           forcing a match failure.
 56475  
 56476  	if !(p >= end_subject) {
 56477  		goto __113
 56478  	}
 56479  
 56480  	rc = DMATCH_NOMATCH
 56481  	goto __58
 56482  __113:
 56483  	;
 56484  
 56485  	// If we have found the required code unit, save the point where we
 56486  	//           found it, so that we don't search again next time round the bumpalong
 56487  	//           loop if the start hasn't yet passed this code unit.
 56488  
 56489  	req_cu_ptr = p
 56490  __107:
 56491  	;
 56492  __106:
 56493  	;
 56494  __104:
 56495  	;
 56496  __59:
 56497  	;
 56498  
 56499  	// ------------ End of start of match optimizations ------------
 56500  
 56501  	// Give no match if we have passed the bumpalong limit.
 56502  
 56503  	if !(start_match > bumpalong_limit) {
 56504  		goto __114
 56505  	}
 56506  
 56507  	rc = DMATCH_NOMATCH
 56508  	goto __58
 56509  __114:
 56510  	;
 56511  
 56512  	// OK, we can now run the match. If "hitend" is set afterwards, remember the
 56513  	//   first starting point for which a partial match was found.
 56514  
 56515  	(*Tpcre2_callout_block_8)(unsafe.Pointer(bp + 20768 /* &cb */)).Fstart_match = Tsize_t((int64(start_match) - int64(subject)) / 1)
 56516  	*(*Tuint32_t)(unsafe.Pointer(bp + 20768 + 104)) |= DPCRE2_CALLOUT_STARTMATCH
 56517  
 56518  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr = start_match
 56519  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr = start_match
 56520  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmoptions = options | fragment_options
 56521  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_call_count = Tuint32_t(0)
 56522  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top = uint64(0)
 56523  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count = Tuint32_t(0)
 56524  
 56525  	rc = match(tls, start_match, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_code, match_data+80,
 56526  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount, (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket, frame_size, mb)
 56527  
 56528  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fhitend != 0 && start_partial == uintptr(0)) {
 56529  		goto __115
 56530  	}
 56531  
 56532  	start_partial = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr
 56533  	match_partial = start_match
 56534  __115:
 56535  	;
 56536  
 56537  	switch rc {
 56538  	// If MATCH_SKIP_ARG reaches this level it means that a MARK that matched
 56539  	//     the SKIP's arg was not found. In this circumstance, Perl ignores the SKIP
 56540  	//     entirely. The only way we can do that is to re-do the match at the same
 56541  	//     point, with a flag to force SKIP with an argument to be ignored. Just
 56542  	//     treating this case as NOMATCH does not work because it does not check other
 56543  	//     alternatives in patterns such as A(*SKIP:A)B|AC when the subject is AC.
 56544  
 56545  	case -994:
 56546  		goto __117
 56547  
 56548  	// SKIP passes back the next starting point explicitly, but if it is no
 56549  	//     greater than the match we have just done, treat it as NOMATCH.
 56550  
 56551  	case -995:
 56552  		goto __118
 56553  	// Fall through
 56554  
 56555  	// NOMATCH and PRUNE advance by one character. THEN at this level acts
 56556  	//     exactly like PRUNE. Unset ignore SKIP-with-argument.
 56557  
 56558  	case DMATCH_NOMATCH:
 56559  		goto __119
 56560  	case -996:
 56561  		goto __120
 56562  	case -993:
 56563  		goto __121
 56564  
 56565  	// COMMIT disables the bumpalong, but otherwise behaves as NOMATCH.
 56566  
 56567  	case -997:
 56568  		goto __122
 56569  
 56570  	// Any other return is either a match, or some kind of error.
 56571  
 56572  	default:
 56573  		goto __123
 56574  	}
 56575  	goto __116
 56576  
 56577  	// If MATCH_SKIP_ARG reaches this level it means that a MARK that matched
 56578  	//     the SKIP's arg was not found. In this circumstance, Perl ignores the SKIP
 56579  	//     entirely. The only way we can do that is to re-do the match at the same
 56580  	//     point, with a flag to force SKIP with an argument to be ignored. Just
 56581  	//     treating this case as NOMATCH does not work because it does not check other
 56582  	//     alternatives in patterns such as A(*SKIP:A)B|AC when the subject is AC.
 56583  
 56584  __117:
 56585  	new_start_match = start_match
 56586  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fskip_arg_count
 56587  	goto __116
 56588  
 56589  	// SKIP passes back the next starting point explicitly, but if it is no
 56590  	//     greater than the match we have just done, treat it as NOMATCH.
 56591  
 56592  __118:
 56593  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr > start_match) {
 56594  		goto __124
 56595  	}
 56596  
 56597  	new_start_match = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fverb_skip_ptr
 56598  	goto __116
 56599  __124:
 56600  	;
 56601  	// Fall through
 56602  
 56603  	// NOMATCH and PRUNE advance by one character. THEN at this level acts
 56604  	//     exactly like PRUNE. Unset ignore SKIP-with-argument.
 56605  
 56606  __119:
 56607  __120:
 56608  __121:
 56609  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fignore_skip_arg = Tuint32_t(0)
 56610  	new_start_match = start_match + uintptr(1)
 56611  	if !(utf != 0) {
 56612  		goto __125
 56613  	}
 56614  __126:
 56615  	if !(new_start_match < end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(new_start_match)))&0xc0 == 0x80) {
 56616  		goto __127
 56617  	}
 56618  	new_start_match++
 56619  	goto __126
 56620  __127:
 56621  	;
 56622  __125:
 56623  	;
 56624  	goto __116
 56625  
 56626  	// COMMIT disables the bumpalong, but otherwise behaves as NOMATCH.
 56627  
 56628  __122:
 56629  	rc = DMATCH_NOMATCH
 56630  	goto ENDLOOP
 56631  
 56632  	// Any other return is either a match, or some kind of error.
 56633  
 56634  __123:
 56635  	goto ENDLOOP
 56636  __116:
 56637  	;
 56638  
 56639  	// Control reaches here for the various types of "no match at this point"
 56640  	//   result. Reset the code to MATCH_NOMATCH for subsequent checking.
 56641  
 56642  	rc = DMATCH_NOMATCH
 56643  
 56644  	// If PCRE2_FIRSTLINE is set, the match must happen before or at the first
 56645  	//   newline in the subject (though it may continue over the newline). Therefore,
 56646  	//   if we have just failed to match, starting at a newline, do not continue.
 56647  
 56648  	if !(firstline != 0 && func() int32 {
 56649  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype != Tuint32_t(DNLTYPE_FIXED) {
 56650  			return libc.Bool32(start_match < (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject && X_pcre2_is_newline_8(tls, start_match, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject, mb+256, utf) != 0)
 56651  		}
 56652  		return libc.Bool32(start_match <= (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject-uintptr((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260))) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(1) || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + uintptr(1)))) == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mb + 260 + 1)))))
 56653  	}() != 0) {
 56654  		goto __128
 56655  	}
 56656  	goto __58
 56657  __128:
 56658  	;
 56659  
 56660  	// Advance to new matching position
 56661  
 56662  	start_match = new_start_match
 56663  
 56664  	// Break the loop if the pattern is anchored or if we have passed the end of
 56665  	//   the subject.
 56666  
 56667  	if !(anchored != 0 || start_match > end_subject) {
 56668  		goto __129
 56669  	}
 56670  	goto __58
 56671  __129:
 56672  	;
 56673  
 56674  	// If we have just passed a CR and we are now at a LF, and the pattern does
 56675  	//   not contain any explicit matches for \r or \n, and the newline option is CRLF
 56676  	//   or ANY or ANYCRLF, advance the match position by one more code unit. In
 56677  	//   normal matching start_match will aways be greater than the first position at
 56678  	//   this stage, but a failed *SKIP can cause a return at the same point, which is
 56679  	//   why the first test exists.
 56680  
 56681  	if !(start_match > subject+uintptr(start_offset) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match + libc.UintptrFromInt32(-1)))) == '\015' && start_match < end_subject && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match))) == '\012' && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASCRORLF) == Tuint32_t(0) && ((*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANY) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnltype == Tuint32_t(DNLTYPE_ANYCRLF) || (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnllen == Tuint32_t(2))) {
 56682  		goto __130
 56683  	}
 56684  	start_match++
 56685  __130:
 56686  	;
 56687  
 56688  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark = uintptr(0) // Reset for start of next match attempt
 56689  	goto __57
 56690  __57:
 56691  	goto __56
 56692  	goto __58
 56693  __58:
 56694  	; // End of for(;;) "bumpalong" loop
 56695  
 56696  	// ==========================================================================
 56697  
 56698  	// When we reach here, one of the following stopping conditions is true:
 56699  	//
 56700  	// (1) The match succeeded, either completely, or partially;
 56701  	//
 56702  	// (2) The pattern is anchored or the match was failed after (*COMMIT);
 56703  	//
 56704  	// (3) We are past the end of the subject or the bumpalong limit;
 56705  	//
 56706  	// (4) PCRE2_FIRSTLINE is set and we have failed to match at a newline, because
 56707  	//     this option requests that a match occur at or before the first newline in
 56708  	//     the subject.
 56709  	//
 56710  	// (5) Some kind of error occurred.
 56711  	//
 56712  
 56713  ENDLOOP:
 56714  
 56715  	// If end_subject != true_end_subject, it means we are handling invalid UTF,
 56716  	// and have just processed a non-terminal fragment. If this resulted in no match
 56717  	// or a partial match we must carry on to the next fragment (a partial match is
 56718  	// returned to the caller only at the very end of the subject). A loop is used to
 56719  	// avoid trying to match against empty fragments; if the pattern can match an
 56720  	// empty string it would have done so already.
 56721  
 56722  	if !(utf != 0 && end_subject != true_end_subject && (rc == DMATCH_NOMATCH || rc == -2)) {
 56723  		goto __131
 56724  	}
 56725  
 56726  __132:
 56727  
 56728  	// Advance past the first bad code unit, and then skip invalid character
 56729  	//     starting code units in 8-bit and 16-bit modes.
 56730  
 56731  	start_match = end_subject + uintptr(1)
 56732  
 56733  __135:
 56734  	if !(start_match < true_end_subject && uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(start_match)))&0xc0 == 0x80) {
 56735  		goto __136
 56736  	}
 56737  	start_match++
 56738  	goto __135
 56739  __136:
 56740  	;
 56741  
 56742  	// If we have hit the end of the subject, there isn't another non-empty
 56743  	//     fragment, so give up.
 56744  
 56745  	if !(start_match >= true_end_subject) {
 56746  		goto __137
 56747  	}
 56748  
 56749  	rc = DMATCH_NOMATCH // In case it was partial
 56750  	goto __134
 56751  __137:
 56752  	;
 56753  
 56754  	// Check the rest of the subject
 56755  
 56756  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fcheck_subject = start_match
 56757  	rc = X_pcre2_valid_utf_8(tls, start_match, length-Tsize_t((int64(start_match)-int64(subject))/1),
 56758  		match_data+64)
 56759  
 56760  	// The rest of the subject is valid UTF.
 56761  
 56762  	if !(rc == 0) {
 56763  		goto __138
 56764  	}
 56765  
 56766  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject = libc.AssignUintptr(&end_subject, true_end_subject)
 56767  	fragment_options = DPCRE2_NOTBOL
 56768  	goto FRAGMENT_RESTART
 56769  	goto __139
 56770  __138:
 56771  	if !(rc < 0) {
 56772  		goto __140
 56773  	}
 56774  
 56775  	(*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_subject = libc.AssignUintptr(&end_subject, start_match+uintptr((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar))
 56776  	if !(end_subject > start_match) {
 56777  		goto __141
 56778  	}
 56779  
 56780  	fragment_options = DPCRE2_NOTBOL | DPCRE2_NOTEOL
 56781  	goto FRAGMENT_RESTART
 56782  __141:
 56783  	;
 56784  __140:
 56785  	;
 56786  __139:
 56787  	;
 56788  	goto __133
 56789  __133:
 56790  	goto __132
 56791  	goto __134
 56792  __134:
 56793  	;
 56794  __131:
 56795  	;
 56796  
 56797  	// Release an enlarged frame vector that is on the heap.
 56798  
 56799  	if !((*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames != (*Tmatch_block_8)(unsafe.Pointer(mb)).Fstack_frames) {
 56800  		goto __142
 56801  	}
 56802  	(*struct {
 56803  		f func(*libc.TLS, uintptr, uintptr)
 56804  	})(unsafe.Pointer(&struct{ uintptr }{(*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Ffree})).f(tls, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmatch_frames, (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmemctl.Fmemory_data)
 56805  __142:
 56806  	;
 56807  
 56808  	// Fill in fields that are always returned in the match data.
 56809  
 56810  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode = re
 56811  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fmark
 56812  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby = PCRE2_MATCHEDBY_INTERPRETER
 56813  
 56814  	// Handle a fully successful match. Set the return code to the number of
 56815  	// captured strings, or 0 if there were too many to fit into the ovector, and then
 56816  	// set the remaining returned values before returning. Make a copy of the subject
 56817  	// string if requested.
 56818  
 56819  	if !(rc == DMATCH_MATCH) {
 56820  		goto __143
 56821  	}
 56822  
 56823  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = func() int32 {
 56824  		if int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top) >= 2*int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 56825  			return 0
 56826  		}
 56827  		return int32((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_offset_top)/2 + 1
 56828  	}()
 56829  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = Tsize_t((int64(start_match) - int64(subject)) / 1)
 56830  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = Tsize_t((int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fstart_used_ptr) - int64(subject)) / 1)
 56831  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frightchar = Tsize_t((func() int64 {
 56832  		if (*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr > (*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_match_ptr {
 56833  			return int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Flast_used_ptr)
 56834  		}
 56835  		return int64((*Tmatch_block_8)(unsafe.Pointer(mb)).Fend_match_ptr)
 56836  	}() - int64(subject)) / 1)
 56837  	if !(options&DPCRE2_COPY_MATCHED_SUBJECT != Tuint32_t(0)) {
 56838  		goto __144
 56839  	}
 56840  
 56841  	length = (length + Tsize_t(was_zero_terminated)) * uint64(DPCRE2_CODE_UNIT_WIDTH/8)
 56842  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = (*struct {
 56843  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 56844  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmalloc})).f(tls, length,
 56845  		(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 56846  	if !((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject == uintptr(0)) {
 56847  		goto __146
 56848  	}
 56849  	return -48
 56850  __146:
 56851  	;
 56852  	libc.Xmemcpy(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject, subject, length)
 56853  	*(*Tuint8_t)(unsafe.Pointer(match_data + 73)) |= uint8(DPCRE2_MD_COPIED_SUBJECT)
 56854  	goto __145
 56855  __144:
 56856  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = subject
 56857  __145:
 56858  	;
 56859  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 56860  __143:
 56861  	;
 56862  
 56863  	// Control gets here if there has been a partial match, an error, or if the
 56864  	// overall match attempt has failed at all permitted starting positions. Any mark
 56865  	// data is in the nomatch_mark field.
 56866  
 56867  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark = (*Tmatch_block_8)(unsafe.Pointer(mb)).Fnomatch_mark
 56868  
 56869  	// For anything other than nomatch or partial match, just return the code.
 56870  
 56871  	if !(rc != DMATCH_NOMATCH && rc != -2) {
 56872  		goto __147
 56873  	}
 56874  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = rc
 56875  	goto __148
 56876  __147:
 56877  	if !(match_partial != uintptr(0)) {
 56878  		goto __149
 56879  	}
 56880  
 56881  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject = subject
 56882  	*(*Tsize_t)(unsafe.Pointer(match_data + 80)) = Tsize_t((int64(match_partial) - int64(subject)) / 1)
 56883  	*(*Tsize_t)(unsafe.Pointer(match_data + 80 + 1*8)) = Tsize_t((int64(end_subject) - int64(subject)) / 1)
 56884  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar = Tsize_t((int64(match_partial) - int64(subject)) / 1)
 56885  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = Tsize_t((int64(start_partial) - int64(subject)) / 1)
 56886  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frightchar = Tsize_t((int64(end_subject) - int64(subject)) / 1)
 56887  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = -2
 56888  	goto __150
 56889  __149:
 56890  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = -1
 56891  __150:
 56892  	;
 56893  __148:
 56894  	;
 56895  
 56896  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 56897  }
 56898  
 56899  // End of pcre2_match.c
 56900  
 56901  // This function is needed only when memmove() is not available.
 56902  
 56903  // End of pcre2_internal.h
 56904  
 56905  // ************************************************
 56906  //
 56907  //  Create a match data block given ovector size  *
 56908  //
 56909  
 56910  // A minimum of 1 is imposed on the number of ovector pairs.
 56911  
 56912  func Xpcre2_match_data_create_8(tls *libc.TLS, oveccount Tuint32_t, gcontext uintptr) uintptr { /* pcre2_match_data.c:56:33: */
 56913  	var yield uintptr
 56914  	if oveccount < Tuint32_t(1) {
 56915  		oveccount = Tuint32_t(1)
 56916  	}
 56917  	yield = X_pcre2_memctl_malloc_8(tls,
 56918  		uint64(uintptr(0)+80)+uint64(Tuint32_t(2)*oveccount)*uint64(unsafe.Sizeof(Tsize_t(0))),
 56919  		gcontext)
 56920  	if yield == uintptr(0) {
 56921  		return uintptr(0)
 56922  	}
 56923  	(*Tpcre2_match_data_8)(unsafe.Pointer(yield)).Foveccount = Tuint16_t(oveccount)
 56924  	(*Tpcre2_match_data_8)(unsafe.Pointer(yield)).Fflags = Tuint8_t(0)
 56925  	return yield
 56926  }
 56927  
 56928  // ************************************************
 56929  //
 56930  //  Create a match data block using pattern data  *
 56931  //
 56932  
 56933  // If no context is supplied, use the memory allocator from the code.
 56934  
 56935  func Xpcre2_match_data_create_from_pattern_8(tls *libc.TLS, code uintptr, gcontext uintptr) uintptr { /* pcre2_match_data.c:78:33: */
 56936  	if gcontext == uintptr(0) {
 56937  		gcontext = code
 56938  	}
 56939  	return Xpcre2_match_data_create_8(tls, uint32(int32((*Tpcre2_real_code_8)(unsafe.Pointer(code)).Ftop_bracket)+1),
 56940  		gcontext)
 56941  }
 56942  
 56943  // ************************************************
 56944  //
 56945  //            Free a match data block             *
 56946  //
 56947  
 56948  func Xpcre2_match_data_free_8(tls *libc.TLS, match_data uintptr) { /* pcre2_match_data.c:94:1: */
 56949  	if match_data != uintptr(0) {
 56950  		if uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fflags)&DPCRE2_MD_COPIED_SUBJECT != uint32(0) {
 56951  			(*struct {
 56952  				f func(*libc.TLS, uintptr, uintptr)
 56953  			})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Ffree})).f(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject,
 56954  				(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 56955  		}
 56956  		(*struct {
 56957  			f func(*libc.TLS, uintptr, uintptr)
 56958  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Ffree})).f(tls, match_data, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmemctl.Fmemory_data)
 56959  	}
 56960  }
 56961  
 56962  // ************************************************
 56963  //
 56964  //         Get last mark in match                 *
 56965  //
 56966  
 56967  func Xpcre2_get_mark_8(tls *libc.TLS, match_data uintptr) TPCRE2_SPTR8 { /* pcre2_match_data.c:112:1: */
 56968  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmark
 56969  }
 56970  
 56971  // ************************************************
 56972  //
 56973  //          Get pointer to ovector                *
 56974  //
 56975  
 56976  func Xpcre2_get_ovector_pointer_8(tls *libc.TLS, match_data uintptr) uintptr { /* pcre2_match_data.c:123:27: */
 56977  	return match_data + 80 /* &.ovector */
 56978  }
 56979  
 56980  // ************************************************
 56981  //
 56982  //          Get number of ovector slots           *
 56983  //
 56984  
 56985  func Xpcre2_get_ovector_count_8(tls *libc.TLS, match_data uintptr) Tuint32_t { /* pcre2_match_data.c:136:1: */
 56986  	return Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount)
 56987  }
 56988  
 56989  // ************************************************
 56990  //
 56991  //         Get starting code unit in match        *
 56992  //
 56993  
 56994  func Xpcre2_get_startchar_8(tls *libc.TLS, match_data uintptr) Tsize_t { /* pcre2_match_data.c:148:1: */
 56995  	return (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fstartchar
 56996  }
 56997  
 56998  // ************************************************
 56999  //
 57000  //         Get size of match data block           *
 57001  //
 57002  
 57003  func Xpcre2_get_match_data_size_8(tls *libc.TLS, match_data uintptr) Tsize_t { /* pcre2_match_data.c:160:1: */
 57004  	return uint64(uintptr(0)+80) + uint64(2*int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount))*uint64(unsafe.Sizeof(Tsize_t(0)))
 57005  }
 57006  
 57007  // End of pcre2_match_data.c
 57008  
 57009  // This function is needed only when memmove() is not available.
 57010  
 57011  // End of pcre2_internal.h
 57012  
 57013  // ************************************************
 57014  //
 57015  //      Check for newline at given position       *
 57016  //
 57017  
 57018  // This function is called only via the IS_NEWLINE macro, which does so only
 57019  // when the newline type is NLTYPE_ANY or NLTYPE_ANYCRLF. The case of a fixed
 57020  // newline (NLTYPE_FIXED) is handled inline. It is guaranteed that the code unit
 57021  // pointed to by ptr is less than the end of the string.
 57022  //
 57023  // Arguments:
 57024  //   ptr          pointer to possible newline
 57025  //   type         the newline type
 57026  //   endptr       pointer to the end of the string
 57027  //   lenptr       where to return the length
 57028  //   utf          TRUE if in utf mode
 57029  //
 57030  // Returns:       TRUE or FALSE
 57031  
 57032  func X_pcre2_is_newline_8(tls *libc.TLS, ptr TPCRE2_SPTR8, type1 Tuint32_t, endptr TPCRE2_SPTR8, lenptr uintptr, utf TBOOL) TBOOL { /* pcre2_newline.c:79:1: */
 57033  	var c Tuint32_t
 57034  
 57035  	if utf != 0 {
 57036  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 57037  		if c >= 0xc0 {
 57038  			if c&0x20 == Tuint32_t(0) {
 57039  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 57040  			} else if c&0x10 == Tuint32_t(0) {
 57041  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 57042  			} else if c&0x08 == Tuint32_t(0) {
 57043  				c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f
 57044  			} else if c&0x04 == Tuint32_t(0) {
 57045  				c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f
 57046  			} else {
 57047  				c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f
 57048  			}
 57049  		}
 57050  
 57051  	} else {
 57052  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 57053  	}
 57054  
 57055  	if type1 == Tuint32_t(DNLTYPE_ANYCRLF) {
 57056  		switch c {
 57057  		case Tuint32_t('\012'):
 57058  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1)
 57059  			return DTRUE
 57060  			fallthrough
 57061  
 57062  		case Tuint32_t('\015'):
 57063  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57064  				if ptr < endptr-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\012' {
 57065  					return uint32(2)
 57066  				}
 57067  				return uint32(1)
 57068  			}()
 57069  			return DTRUE
 57070  			fallthrough
 57071  
 57072  		default:
 57073  			return DFALSE
 57074  		}
 57075  	} else {
 57076  		switch c {
 57077  		case Tuint32_t('\012'):
 57078  			fallthrough
 57079  		case Tuint32_t('\013'):
 57080  			fallthrough
 57081  		case Tuint32_t('\014'):
 57082  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1)
 57083  			return DTRUE
 57084  			fallthrough
 57085  
 57086  		case Tuint32_t('\015'):
 57087  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57088  				if ptr < endptr-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1))) == '\012' {
 57089  					return uint32(2)
 57090  				}
 57091  				return uint32(1)
 57092  			}()
 57093  			return DTRUE
 57094  			fallthrough
 57095  
 57096  		case Tuint32_t(uint8('\x85')):
 57097  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57098  				if utf != 0 {
 57099  					return uint32(2)
 57100  				}
 57101  				return uint32(1)
 57102  			}()
 57103  			return DTRUE
 57104  			fallthrough
 57105  
 57106  		case Tuint32_t(0x2028):
 57107  			fallthrough // LS
 57108  		case Tuint32_t(0x2029): // PS
 57109  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(3)
 57110  			return DTRUE
 57111  			fallthrough
 57112  
 57113  		default:
 57114  			return DFALSE
 57115  		}
 57116  	}
 57117  	return TBOOL(0)
 57118  }
 57119  
 57120  // ************************************************
 57121  //
 57122  //     Check for newline at previous position     *
 57123  //
 57124  
 57125  // This function is called only via the WAS_NEWLINE macro, which does so only
 57126  // when the newline type is NLTYPE_ANY or NLTYPE_ANYCRLF. The case of a fixed
 57127  // newline (NLTYPE_FIXED) is handled inline. It is guaranteed that the initial
 57128  // value of ptr is greater than the start of the string that is being processed.
 57129  //
 57130  // Arguments:
 57131  //   ptr          pointer to possible newline
 57132  //   type         the newline type
 57133  //   startptr     pointer to the start of the string
 57134  //   lenptr       where to return the length
 57135  //   utf          TRUE if in utf mode
 57136  //
 57137  // Returns:       TRUE or FALSE
 57138  
 57139  func X_pcre2_was_newline_8(tls *libc.TLS, ptr TPCRE2_SPTR8, type1 Tuint32_t, startptr TPCRE2_SPTR8, lenptr uintptr, utf TBOOL) TBOOL { /* pcre2_newline.c:169:1: */
 57140  	var c Tuint32_t
 57141  	ptr--
 57142  
 57143  	if utf != 0 {
 57144  		for uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0xc0 == 0x80 {
 57145  			ptr--
 57146  		}
 57147  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 57148  		if c >= 0xc0 {
 57149  			if c&0x20 == Tuint32_t(0) {
 57150  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 57151  			} else if c&0x10 == Tuint32_t(0) {
 57152  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 57153  			} else if c&0x08 == Tuint32_t(0) {
 57154  				c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f
 57155  			} else if c&0x04 == Tuint32_t(0) {
 57156  				c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f
 57157  			} else {
 57158  				c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 5)))&0x3f
 57159  			}
 57160  		}
 57161  
 57162  	} else {
 57163  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))
 57164  	}
 57165  
 57166  	if type1 == Tuint32_t(DNLTYPE_ANYCRLF) {
 57167  		switch c {
 57168  		case Tuint32_t('\012'):
 57169  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57170  				if ptr > startptr && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + libc.UintptrFromInt32(-1)))) == '\015' {
 57171  					return uint32(2)
 57172  				}
 57173  				return uint32(1)
 57174  			}()
 57175  			return DTRUE
 57176  			fallthrough
 57177  
 57178  		case Tuint32_t('\015'):
 57179  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1)
 57180  			return DTRUE
 57181  			fallthrough
 57182  
 57183  		default:
 57184  			return DFALSE
 57185  		}
 57186  	} else {
 57187  		switch c {
 57188  		case Tuint32_t('\012'):
 57189  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57190  				if ptr > startptr && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + libc.UintptrFromInt32(-1)))) == '\015' {
 57191  					return uint32(2)
 57192  				}
 57193  				return uint32(1)
 57194  			}()
 57195  			return DTRUE
 57196  			fallthrough
 57197  
 57198  		case Tuint32_t('\013'):
 57199  			fallthrough
 57200  		case Tuint32_t('\014'):
 57201  			fallthrough
 57202  		case Tuint32_t('\015'):
 57203  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(1)
 57204  			return DTRUE
 57205  			fallthrough
 57206  
 57207  		case Tuint32_t(uint8('\x85')):
 57208  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = func() uint32 {
 57209  				if utf != 0 {
 57210  					return uint32(2)
 57211  				}
 57212  				return uint32(1)
 57213  			}()
 57214  			return DTRUE
 57215  			fallthrough
 57216  
 57217  		case Tuint32_t(0x2028):
 57218  			fallthrough // LS
 57219  		case Tuint32_t(0x2029): // PS
 57220  			*(*Tuint32_t)(unsafe.Pointer(lenptr)) = Tuint32_t(3)
 57221  			return DTRUE
 57222  			fallthrough
 57223  
 57224  		default:
 57225  			return DFALSE
 57226  		}
 57227  	}
 57228  	return TBOOL(0)
 57229  }
 57230  
 57231  // End of pcre2_newline.c
 57232  
 57233  // This function is needed only when memmove() is not available.
 57234  
 57235  // End of pcre2_internal.h
 57236  
 57237  // If SUPPORT_UNICODE is not defined, this function will never be called.
 57238  // Supply a dummy function because some compilers do not like empty source
 57239  // modules.
 57240  
 57241  // ************************************************
 57242  //
 57243  //          Convert code point to UTF             *
 57244  //
 57245  
 57246  //
 57247  // Arguments:
 57248  //   cvalue     the character value
 57249  //   buffer     pointer to buffer for result
 57250  //
 57251  // Returns:     number of code units placed in the buffer
 57252  
 57253  func X_pcre2_ord2utf_8(tls *libc.TLS, cvalue Tuint32_t, buffer uintptr) uint32 { /* pcre2_ord2utf.c:81:1: */
 57254  	// Convert to UTF-8
 57255  
 57256  	var i int32
 57257  	var j int32
 57258  	for i = 0; i < X_pcre2_utf8_table1_size; i++ {
 57259  		if int32(cvalue) <= X_pcre2_utf8_table1[i] {
 57260  			break
 57261  		}
 57262  	}
 57263  	buffer += uintptr(i)
 57264  	for j = i; j > 0; j-- {
 57265  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostDecUintptr(&buffer, 1))) = TPCRE2_UCHAR8(Tuint32_t(0x80) | cvalue&Tuint32_t(0x3f))
 57266  		cvalue >>= 6
 57267  	}
 57268  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer)) = TPCRE2_UCHAR8(Tuint32_t(X_pcre2_utf8_table2[i]) | cvalue)
 57269  	return uint32(i + 1)
 57270  
 57271  	// Convert to UTF-16
 57272  
 57273  }
 57274  
 57275  // End of pcre_ord2utf.c
 57276  
 57277  // This function is needed only when memmove() is not available.
 57278  
 57279  // End of pcre2_internal.h
 57280  
 57281  // ************************************************
 57282  //
 57283  //        Return info about compiled pattern      *
 57284  //
 57285  
 57286  //
 57287  // Arguments:
 57288  //   code          points to compiled code
 57289  //   what          what information is required
 57290  //   where         where to put the information; if NULL, return length
 57291  //
 57292  // Returns:        0 when data returned
 57293  //                 > 0 when length requested
 57294  //                 < 0 on error or unset value
 57295  
 57296  func Xpcre2_pattern_info_8(tls *libc.TLS, code uintptr, what Tuint32_t, where uintptr) int32 { /* pcre2_pattern_info.c:65:1: */
 57297  	var re uintptr = code
 57298  
 57299  	if where == uintptr(0) {
 57300  		switch what {
 57301  		case Tuint32_t(DPCRE2_INFO_ALLOPTIONS):
 57302  			fallthrough
 57303  		case Tuint32_t(DPCRE2_INFO_ARGOPTIONS):
 57304  			fallthrough
 57305  		case Tuint32_t(DPCRE2_INFO_BACKREFMAX):
 57306  			fallthrough
 57307  		case Tuint32_t(DPCRE2_INFO_BSR):
 57308  			fallthrough
 57309  		case Tuint32_t(DPCRE2_INFO_CAPTURECOUNT):
 57310  			fallthrough
 57311  		case Tuint32_t(DPCRE2_INFO_DEPTHLIMIT):
 57312  			fallthrough
 57313  		case Tuint32_t(DPCRE2_INFO_EXTRAOPTIONS):
 57314  			fallthrough
 57315  		case Tuint32_t(DPCRE2_INFO_FIRSTCODETYPE):
 57316  			fallthrough
 57317  		case Tuint32_t(DPCRE2_INFO_FIRSTCODEUNIT):
 57318  			fallthrough
 57319  		case Tuint32_t(DPCRE2_INFO_HASBACKSLASHC):
 57320  			fallthrough
 57321  		case Tuint32_t(DPCRE2_INFO_HASCRORLF):
 57322  			fallthrough
 57323  		case Tuint32_t(DPCRE2_INFO_HEAPLIMIT):
 57324  			fallthrough
 57325  		case Tuint32_t(DPCRE2_INFO_JCHANGED):
 57326  			fallthrough
 57327  		case Tuint32_t(DPCRE2_INFO_LASTCODETYPE):
 57328  			fallthrough
 57329  		case Tuint32_t(DPCRE2_INFO_LASTCODEUNIT):
 57330  			fallthrough
 57331  		case Tuint32_t(DPCRE2_INFO_MATCHEMPTY):
 57332  			fallthrough
 57333  		case Tuint32_t(DPCRE2_INFO_MATCHLIMIT):
 57334  			fallthrough
 57335  		case Tuint32_t(DPCRE2_INFO_MAXLOOKBEHIND):
 57336  			fallthrough
 57337  		case Tuint32_t(DPCRE2_INFO_MINLENGTH):
 57338  			fallthrough
 57339  		case Tuint32_t(DPCRE2_INFO_NAMEENTRYSIZE):
 57340  			fallthrough
 57341  		case Tuint32_t(DPCRE2_INFO_NAMECOUNT):
 57342  			fallthrough
 57343  		case Tuint32_t(DPCRE2_INFO_NEWLINE):
 57344  			return int32(unsafe.Sizeof(Tuint32_t(0)))
 57345  			fallthrough
 57346  
 57347  		case Tuint32_t(DPCRE2_INFO_FIRSTBITMAP):
 57348  			return int32(unsafe.Sizeof(uintptr(0)))
 57349  			fallthrough
 57350  
 57351  		case Tuint32_t(DPCRE2_INFO_JITSIZE):
 57352  			fallthrough
 57353  		case Tuint32_t(DPCRE2_INFO_SIZE):
 57354  			fallthrough
 57355  		case Tuint32_t(DPCRE2_INFO_FRAMESIZE):
 57356  			return int32(unsafe.Sizeof(Tsize_t(0)))
 57357  			fallthrough
 57358  
 57359  		case Tuint32_t(DPCRE2_INFO_NAMETABLE):
 57360  			return int32(unsafe.Sizeof(TPCRE2_SPTR8(0)))
 57361  		}
 57362  	}
 57363  
 57364  	if re == uintptr(0) {
 57365  		return -51
 57366  	}
 57367  
 57368  	// Check that the first field in the block is the magic number. If it is not,
 57369  	// return with PCRE2_ERROR_BADMAGIC.
 57370  
 57371  	if uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER {
 57372  		return -31
 57373  	}
 57374  
 57375  	// Check that this pattern was compiled in the correct bit mode
 57376  
 57377  	if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8) == Tuint32_t(0) {
 57378  		return -32
 57379  	}
 57380  
 57381  	switch what {
 57382  	case Tuint32_t(DPCRE2_INFO_ALLOPTIONS):
 57383  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options
 57384  		break
 57385  
 57386  	case Tuint32_t(DPCRE2_INFO_ARGOPTIONS):
 57387  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fcompile_options
 57388  		break
 57389  
 57390  	case Tuint32_t(DPCRE2_INFO_BACKREFMAX):
 57391  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref)
 57392  		break
 57393  
 57394  	case Tuint32_t(DPCRE2_INFO_BSR):
 57395  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fbsr_convention)
 57396  		break
 57397  
 57398  	case Tuint32_t(DPCRE2_INFO_CAPTURECOUNT):
 57399  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket)
 57400  		break
 57401  
 57402  	case Tuint32_t(DPCRE2_INFO_DEPTHLIMIT):
 57403  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth
 57404  		if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_depth == 4294967295 {
 57405  			return -55
 57406  		}
 57407  		break
 57408  
 57409  	case Tuint32_t(DPCRE2_INFO_EXTRAOPTIONS):
 57410  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fextra_options
 57411  		break
 57412  
 57413  	case Tuint32_t(DPCRE2_INFO_FIRSTCODETYPE):
 57414  		*(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 {
 57415  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0) {
 57416  				return uint32(1)
 57417  			}
 57418  			return func() uint32 {
 57419  				if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_STARTLINE) != Tuint32_t(0) {
 57420  					return uint32(2)
 57421  				}
 57422  				return uint32(0)
 57423  			}()
 57424  		}()
 57425  		break
 57426  
 57427  	case Tuint32_t(DPCRE2_INFO_FIRSTCODEUNIT):
 57428  		*(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 {
 57429  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET) != Tuint32_t(0) {
 57430  				return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit
 57431  			}
 57432  			return uint32(0)
 57433  		}()
 57434  		break
 57435  
 57436  	case Tuint32_t(DPCRE2_INFO_FIRSTBITMAP):
 57437  		*(*uintptr)(unsafe.Pointer(where)) = func() uintptr {
 57438  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTMAPSET) != Tuint32_t(0) {
 57439  				return re + 40
 57440  			}
 57441  			return uintptr(0)
 57442  		}()
 57443  		break
 57444  
 57445  	case Tuint32_t(DPCRE2_INFO_FRAMESIZE):
 57446  		*(*Tsize_t)(unsafe.Pointer(where)) = uint64(uintptr(0)+128) + uint64(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_bracket)*2)*uint64(unsafe.Sizeof(Tsize_t(0)))
 57447  		break
 57448  
 57449  	case Tuint32_t(DPCRE2_INFO_HASBACKSLASHC):
 57450  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASBKC) != Tuint32_t(0)))
 57451  		break
 57452  
 57453  	case Tuint32_t(DPCRE2_INFO_HASCRORLF):
 57454  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_HASCRORLF) != Tuint32_t(0)))
 57455  		break
 57456  
 57457  	case Tuint32_t(DPCRE2_INFO_HEAPLIMIT):
 57458  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap
 57459  		if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_heap == 4294967295 {
 57460  			return -55
 57461  		}
 57462  		break
 57463  
 57464  	case Tuint32_t(DPCRE2_INFO_JCHANGED):
 57465  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_JCHANGED) != Tuint32_t(0)))
 57466  		break
 57467  
 57468  	case Tuint32_t(DPCRE2_INFO_JITSIZE):
 57469  		*(*Tsize_t)(unsafe.Pointer(where)) = uint64(0)
 57470  		break
 57471  
 57472  	case Tuint32_t(DPCRE2_INFO_LASTCODETYPE):
 57473  		*(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 {
 57474  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0) {
 57475  				return uint32(1)
 57476  			}
 57477  			return uint32(0)
 57478  		}()
 57479  		break
 57480  
 57481  	case Tuint32_t(DPCRE2_INFO_LASTCODEUNIT):
 57482  		*(*Tuint32_t)(unsafe.Pointer(where)) = func() uint32 {
 57483  			if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) != Tuint32_t(0) {
 57484  				return (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit
 57485  			}
 57486  			return uint32(0)
 57487  		}()
 57488  		break
 57489  
 57490  	case Tuint32_t(DPCRE2_INFO_MATCHEMPTY):
 57491  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t(libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MATCH_EMPTY) != Tuint32_t(0)))
 57492  		break
 57493  
 57494  	case Tuint32_t(DPCRE2_INFO_MATCHLIMIT):
 57495  		*(*Tuint32_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match
 57496  		if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flimit_match == 4294967295 {
 57497  			return -55
 57498  		}
 57499  		break
 57500  
 57501  	case Tuint32_t(DPCRE2_INFO_MAXLOOKBEHIND):
 57502  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmax_lookbehind)
 57503  		break
 57504  
 57505  	case Tuint32_t(DPCRE2_INFO_MINLENGTH):
 57506  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength)
 57507  		break
 57508  
 57509  	case Tuint32_t(DPCRE2_INFO_NAMEENTRYSIZE):
 57510  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)
 57511  		break
 57512  
 57513  	case Tuint32_t(DPCRE2_INFO_NAMECOUNT):
 57514  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)
 57515  		break
 57516  
 57517  	case Tuint32_t(DPCRE2_INFO_NAMETABLE):
 57518  		*(*TPCRE2_SPTR8)(unsafe.Pointer(where)) = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{})))
 57519  		break
 57520  
 57521  	case Tuint32_t(DPCRE2_INFO_NEWLINE):
 57522  		*(*Tuint32_t)(unsafe.Pointer(where)) = Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fnewline_convention)
 57523  		break
 57524  
 57525  	case Tuint32_t(DPCRE2_INFO_SIZE):
 57526  		*(*Tsize_t)(unsafe.Pointer(where)) = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize
 57527  		break
 57528  
 57529  	default:
 57530  		return -34
 57531  	}
 57532  
 57533  	return 0
 57534  }
 57535  
 57536  // ************************************************
 57537  //
 57538  //              Callout enumerator                *
 57539  //
 57540  
 57541  //
 57542  // Arguments:
 57543  //   code          points to compiled code
 57544  //   callback      function called for each callout block
 57545  //   callout_data  user data passed to the callback
 57546  //
 57547  // Returns:        0 when successfully completed
 57548  //                 < 0 on local error
 57549  //                != 0 for callback error
 57550  
 57551  func Xpcre2_callout_enumerate_8(tls *libc.TLS, code uintptr, callback uintptr, callout_data uintptr) int32 { /* pcre2_pattern_info.c:268:1: */
 57552  	bp := tls.Alloc(56)
 57553  	defer tls.Free(56)
 57554  
 57555  	var re uintptr = code
 57556  	// var cb Tpcre2_callout_enumerate_block_8 at bp, 56
 57557  
 57558  	var cc TPCRE2_SPTR8
 57559  	var utf TBOOL
 57560  
 57561  	if re == uintptr(0) {
 57562  		return -51
 57563  	}
 57564  
 57565  	utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 57566  
 57567  	// Check that the first field in the block is the magic number. If it is not,
 57568  	// return with PCRE2_ERROR_BADMAGIC.
 57569  
 57570  	if uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER {
 57571  		return -31
 57572  	}
 57573  
 57574  	// Check that this pattern was compiled in the correct bit mode
 57575  
 57576  	if (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_CODE_UNIT_WIDTH/8) == Tuint32_t(0) {
 57577  		return -32
 57578  	}
 57579  
 57580  	(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fversion = Tuint32_t(0)
 57581  	cc = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) +
 57582  		uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size))
 57583  
 57584  	for 1 != 0 {
 57585  		var rc int32
 57586  		switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) {
 57587  		case OP_END:
 57588  			return 0
 57589  
 57590  		case OP_CHAR:
 57591  			fallthrough
 57592  		case OP_CHARI:
 57593  			fallthrough
 57594  		case OP_NOT:
 57595  			fallthrough
 57596  		case OP_NOTI:
 57597  			fallthrough
 57598  		case OP_STAR:
 57599  			fallthrough
 57600  		case OP_MINSTAR:
 57601  			fallthrough
 57602  		case OP_PLUS:
 57603  			fallthrough
 57604  		case OP_MINPLUS:
 57605  			fallthrough
 57606  		case OP_QUERY:
 57607  			fallthrough
 57608  		case OP_MINQUERY:
 57609  			fallthrough
 57610  		case OP_UPTO:
 57611  			fallthrough
 57612  		case OP_MINUPTO:
 57613  			fallthrough
 57614  		case OP_EXACT:
 57615  			fallthrough
 57616  		case OP_POSSTAR:
 57617  			fallthrough
 57618  		case OP_POSPLUS:
 57619  			fallthrough
 57620  		case OP_POSQUERY:
 57621  			fallthrough
 57622  		case OP_POSUPTO:
 57623  			fallthrough
 57624  		case OP_STARI:
 57625  			fallthrough
 57626  		case OP_MINSTARI:
 57627  			fallthrough
 57628  		case OP_PLUSI:
 57629  			fallthrough
 57630  		case OP_MINPLUSI:
 57631  			fallthrough
 57632  		case OP_QUERYI:
 57633  			fallthrough
 57634  		case OP_MINQUERYI:
 57635  			fallthrough
 57636  		case OP_UPTOI:
 57637  			fallthrough
 57638  		case OP_MINUPTOI:
 57639  			fallthrough
 57640  		case OP_EXACTI:
 57641  			fallthrough
 57642  		case OP_POSSTARI:
 57643  			fallthrough
 57644  		case OP_POSPLUSI:
 57645  			fallthrough
 57646  		case OP_POSQUERYI:
 57647  			fallthrough
 57648  		case OP_POSUPTOI:
 57649  			fallthrough
 57650  		case OP_NOTSTAR:
 57651  			fallthrough
 57652  		case OP_NOTMINSTAR:
 57653  			fallthrough
 57654  		case OP_NOTPLUS:
 57655  			fallthrough
 57656  		case OP_NOTMINPLUS:
 57657  			fallthrough
 57658  		case OP_NOTQUERY:
 57659  			fallthrough
 57660  		case OP_NOTMINQUERY:
 57661  			fallthrough
 57662  		case OP_NOTUPTO:
 57663  			fallthrough
 57664  		case OP_NOTMINUPTO:
 57665  			fallthrough
 57666  		case OP_NOTEXACT:
 57667  			fallthrough
 57668  		case OP_NOTPOSSTAR:
 57669  			fallthrough
 57670  		case OP_NOTPOSPLUS:
 57671  			fallthrough
 57672  		case OP_NOTPOSQUERY:
 57673  			fallthrough
 57674  		case OP_NOTPOSUPTO:
 57675  			fallthrough
 57676  		case OP_NOTSTARI:
 57677  			fallthrough
 57678  		case OP_NOTMINSTARI:
 57679  			fallthrough
 57680  		case OP_NOTPLUSI:
 57681  			fallthrough
 57682  		case OP_NOTMINPLUSI:
 57683  			fallthrough
 57684  		case OP_NOTQUERYI:
 57685  			fallthrough
 57686  		case OP_NOTMINQUERYI:
 57687  			fallthrough
 57688  		case OP_NOTUPTOI:
 57689  			fallthrough
 57690  		case OP_NOTMINUPTOI:
 57691  			fallthrough
 57692  		case OP_NOTEXACTI:
 57693  			fallthrough
 57694  		case OP_NOTPOSSTARI:
 57695  			fallthrough
 57696  		case OP_NOTPOSPLUSI:
 57697  			fallthrough
 57698  		case OP_NOTPOSQUERYI:
 57699  			fallthrough
 57700  		case OP_NOTPOSUPTOI:
 57701  			cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 57702  			if utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0 {
 57703  				cc += TPCRE2_SPTR8(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f])
 57704  			}
 57705  			break
 57706  
 57707  		case OP_TYPESTAR:
 57708  			fallthrough
 57709  		case OP_TYPEMINSTAR:
 57710  			fallthrough
 57711  		case OP_TYPEPLUS:
 57712  			fallthrough
 57713  		case OP_TYPEMINPLUS:
 57714  			fallthrough
 57715  		case OP_TYPEQUERY:
 57716  			fallthrough
 57717  		case OP_TYPEMINQUERY:
 57718  			fallthrough
 57719  		case OP_TYPEUPTO:
 57720  			fallthrough
 57721  		case OP_TYPEMINUPTO:
 57722  			fallthrough
 57723  		case OP_TYPEEXACT:
 57724  			fallthrough
 57725  		case OP_TYPEPOSSTAR:
 57726  			fallthrough
 57727  		case OP_TYPEPOSPLUS:
 57728  			fallthrough
 57729  		case OP_TYPEPOSQUERY:
 57730  			fallthrough
 57731  		case OP_TYPEPOSUPTO:
 57732  			cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 57733  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) == OP_NOTPROP {
 57734  				cc += uintptr(2)
 57735  			}
 57736  			break
 57737  
 57738  		case OP_XCLASS:
 57739  			cc += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 57740  			break
 57741  
 57742  		case OP_MARK:
 57743  			fallthrough
 57744  		case OP_COMMIT_ARG:
 57745  			fallthrough
 57746  		case OP_PRUNE_ARG:
 57747  			fallthrough
 57748  		case OP_SKIP_ARG:
 57749  			fallthrough
 57750  		case OP_THEN_ARG:
 57751  			cc += TPCRE2_SPTR8(int32(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))]) + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))))
 57752  			break
 57753  
 57754  		case OP_CALLOUT:
 57755  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fpattern_position = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 57756  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fnext_item_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 4)))))
 57757  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_number = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5)))
 57758  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string_offset = uint64(0)
 57759  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string_length = uint64(0)
 57760  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string = uintptr(0)
 57761  			rc = (*struct {
 57762  				f func(*libc.TLS, uintptr, uintptr) int32
 57763  			})(unsafe.Pointer(&struct{ uintptr }{callback})).f(tls, bp /* &cb */, callout_data)
 57764  			if rc != 0 {
 57765  				return rc
 57766  			}
 57767  			cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 57768  			break
 57769  
 57770  		case OP_CALLOUT_STR:
 57771  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fpattern_position = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 57772  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fnext_item_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 4)))))
 57773  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_number = Tuint32_t(0)
 57774  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string_offset = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 7)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 8)))))
 57775  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string_length = Tsize_t(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6)))) - uint32(1+4*DLINK_SIZE) - uint32(2))
 57776  			(*Tpcre2_callout_enumerate_block_8)(unsafe.Pointer(bp /* &cb */)).Fcallout_string = cc + uintptr(1+4*DLINK_SIZE) + uintptr(1)
 57777  			rc = (*struct {
 57778  				f func(*libc.TLS, uintptr, uintptr) int32
 57779  			})(unsafe.Pointer(&struct{ uintptr }{callback})).f(tls, bp /* &cb */, callout_data)
 57780  			if rc != 0 {
 57781  				return rc
 57782  			}
 57783  			cc += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6)))))
 57784  			break
 57785  
 57786  		default:
 57787  			cc += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 57788  			break
 57789  		}
 57790  	}
 57791  	return int32(0)
 57792  }
 57793  
 57794  // End of pcre2_pattern_info.c
 57795  
 57796  func X_pcre2_script_run_8(tls *libc.TLS, ptr TPCRE2_SPTR8, endptr TPCRE2_SPTR8, utf TBOOL) TBOOL { /* pcre2_script_run.c:85:1: */
 57797  	bp := tls.Alloc(48)
 57798  	defer tls.Free(48)
 57799  
 57800  	var require_state Tuint32_t = SCRIPT_UNSET
 57801  	// var require_map [6]Tuint32_t at bp, 24
 57802  
 57803  	// var map1 [6]Tuint32_t at bp+24, 24
 57804  
 57805  	var require_digitset Tuint32_t = Tuint32_t(0)
 57806  	var c Tuint32_t
 57807  
 57808  	// Any string containing fewer than 2 characters is a valid script run.
 57809  
 57810  	if ptr >= endptr {
 57811  		return DTRUE
 57812  	}
 57813  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))))
 57814  	if utf != 0 && c >= 0xc0 {
 57815  		if c&0x20 == Tuint32_t(0) {
 57816  			c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))))&0x3f
 57817  		} else if c&0x10 == Tuint32_t(0) {
 57818  			c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 57819  			ptr += uintptr(2)
 57820  		} else if c&0x08 == Tuint32_t(0) {
 57821  			c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 57822  			ptr += uintptr(3)
 57823  		} else if c&0x04 == Tuint32_t(0) {
 57824  			c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f
 57825  			ptr += uintptr(4)
 57826  		} else {
 57827  			c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f
 57828  			ptr += uintptr(5)
 57829  		}
 57830  	}
 57831  
 57832  	if ptr >= endptr {
 57833  		return DTRUE
 57834  	}
 57835  
 57836  	// Initialize the require map. This is a full-size bitmap that has a bit for
 57837  	// every script, as opposed to the maps in ucd_script_sets, which only have bits
 57838  	// for scripts less than ucp_Unknown - those that appear in script extension
 57839  	// lists.
 57840  
 57841  	{
 57842  		var i int32 = 0
 57843  	__1:
 57844  		if !(i < ucp_Script_Count/32+1) {
 57845  			goto __3
 57846  		}
 57847  		*(*Tuint32_t)(unsafe.Pointer(bp + uintptr(i)*4)) = Tuint32_t(0)
 57848  		goto __2
 57849  	__2:
 57850  		i++
 57851  		goto __1
 57852  		goto __3
 57853  	__3:
 57854  	}
 57855  
 57856  	// Scan strings of two or more characters, checking the Unicode characteristics
 57857  	// of each code point. There is special code for scripts that can be combined with
 57858  	// characters from the Han Chinese script. This may be used in conjunction with
 57859  	// four other scripts in these combinations:
 57860  	//
 57861  	// . Han with Hiragana and Katakana is allowed (for Japanese).
 57862  	// . Han with Bopomofo is allowed (for Taiwanese Mandarin).
 57863  	// . Han with Hangul is allowed (for Korean).
 57864  	//
 57865  	// If the first significant character's script is one of the four, the required
 57866  	// script type is immediately known. However, if the first significant
 57867  	// character's script is Han, we have to keep checking for a non-Han character.
 57868  	// Hence the SCRIPT_HANPENDING state.
 57869  
 57870  	for {
 57871  		var ucd uintptr = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12
 57872  		var script Tuint32_t = Tuint32_t((*Tucd_record)(unsafe.Pointer(ucd)).Fscript)
 57873  
 57874  		// If the script is Unknown, the string is not a valid script run. Such
 57875  		//   characters can only form script runs of length one (see test above).
 57876  
 57877  		if script == ucp_Unknown {
 57878  			return DFALSE
 57879  		}
 57880  
 57881  		// A character without any script extensions whose script is Inherited or
 57882  		//   Common is always accepted with any script. If there are extensions, the
 57883  		//   following processing happens for all scripts.
 57884  
 57885  		if int32((*Tucd_record)(unsafe.Pointer(ucd)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK != 0 || script != ucp_Inherited && script != ucp_Common {
 57886  			var OK TBOOL
 57887  
 57888  			// Set up a full-sized map for this character that can include bits for all
 57889  			//     scripts. Copy the scriptx map for this character (which covers those
 57890  			//     scripts that appear in script extension lists), set the remaining values to
 57891  			//     zero, and then, except for Common or Inherited, add this script's bit to
 57892  			//     the map.
 57893  
 57894  			libc.Xmemcpy(tls, bp+24, uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8))+uintptr(int32((*Tucd_record)(unsafe.Pointer(ucd)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4, uint64(ucp_Unknown/32+1)*uint64(unsafe.Sizeof(Tuint32_t(0))))
 57895  			libc.Xmemset(tls, bp+24+uintptr(ucp_Unknown/32+1)*4, 0, uint64(ucp_Script_Count/32+1-(ucp_Unknown/32+1))*uint64(unsafe.Sizeof(Tuint32_t(0))))
 57896  			if script != ucp_Common && script != ucp_Inherited {
 57897  				*(*Tuint32_t)(unsafe.Pointer(bp + 24 + uintptr(script/Tuint32_t(32))*4)) |= uint32(1) << (script % Tuint32_t(32))
 57898  			}
 57899  
 57900  			// Handle the different checking states
 57901  
 57902  			switch require_state {
 57903  			// First significant character - it might follow Common or Inherited
 57904  			//       characters that do not have any script extensions.
 57905  
 57906  			case SCRIPT_UNSET:
 57907  				switch script {
 57908  				case ucp_Han:
 57909  					require_state = SCRIPT_HANPENDING
 57910  					break
 57911  					fallthrough
 57912  
 57913  				case ucp_Hiragana:
 57914  					fallthrough
 57915  				case ucp_Katakana:
 57916  					require_state = SCRIPT_HANHIRAKATA
 57917  					break
 57918  					fallthrough
 57919  
 57920  				case ucp_Bopomofo:
 57921  					require_state = SCRIPT_HANBOPOMOFO
 57922  					break
 57923  					fallthrough
 57924  
 57925  				case ucp_Hangul:
 57926  					require_state = SCRIPT_HANHANGUL
 57927  					break
 57928  					fallthrough
 57929  
 57930  				default:
 57931  					libc.Xmemcpy(tls, bp, bp+24, uint64(ucp_Script_Count/32+1)*uint64(unsafe.Sizeof(Tuint32_t(0))))
 57932  					require_state = SCRIPT_MAP
 57933  					break
 57934  				}
 57935  				break
 57936  				fallthrough
 57937  
 57938  			// The first significant character was Han. An inspection of the Unicode
 57939  			//       11.0.0 files shows that there are the following types of Script Extension
 57940  			//       list that involve the Han, Bopomofo, Hiragana, Katakana, and Hangul
 57941  			//       scripts:
 57942  			//
 57943  			//       . Bopomofo + Han
 57944  			//       . Han + Hiragana + Katakana
 57945  			//       . Hiragana + Katakana
 57946  			//       . Bopopmofo + Hangul + Han + Hiragana + Katakana
 57947  			//
 57948  			//       The following code tries to make sense of this.
 57949  
 57950  			case SCRIPT_HANPENDING:
 57951  				if script != ucp_Han {
 57952  					var chspecial Tuint32_t = Tuint32_t(0)
 57953  
 57954  					if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Bopomofo%32)) != Tuint32_t(0) {
 57955  						chspecial = chspecial | Tuint32_t(DFOUND_BOPOMOFO)
 57956  					}
 57957  					if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Hiragana%32)) != Tuint32_t(0) {
 57958  						chspecial = chspecial | Tuint32_t(DFOUND_HIRAGANA)
 57959  					}
 57960  					if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Katakana%32)) != Tuint32_t(0) {
 57961  						chspecial = chspecial | Tuint32_t(DFOUND_KATAKANA)
 57962  					}
 57963  					if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Hangul%32)) != Tuint32_t(0) {
 57964  						chspecial = chspecial | Tuint32_t(DFOUND_HANGUL)
 57965  					}
 57966  
 57967  					if chspecial == Tuint32_t(0) {
 57968  						return DFALSE
 57969  					} // Not allowed with Han
 57970  
 57971  					if chspecial == Tuint32_t(DFOUND_BOPOMOFO) {
 57972  						require_state = SCRIPT_HANBOPOMOFO
 57973  					} else if chspecial == Tuint32_t(DFOUND_HIRAGANA|DFOUND_KATAKANA) {
 57974  						require_state = SCRIPT_HANHIRAKATA
 57975  					}
 57976  
 57977  					// Otherwise this character must be allowed with all of them, so remain
 57978  					//         in the pending state.
 57979  				}
 57980  				break
 57981  				fallthrough
 57982  
 57983  			// Previously encountered one of the "with Han" scripts. Check that
 57984  			//       this character is appropriate.
 57985  
 57986  			case SCRIPT_HANHIRAKATA:
 57987  				if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Han%32))+*(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Hiragana%32))+*(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Katakana%32)) == Tuint32_t(0) {
 57988  					return DFALSE
 57989  				}
 57990  				break
 57991  				fallthrough
 57992  
 57993  			case SCRIPT_HANBOPOMOFO:
 57994  				if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Han%32))+*(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Bopomofo%32)) == Tuint32_t(0) {
 57995  					return DFALSE
 57996  				}
 57997  				break
 57998  				fallthrough
 57999  
 58000  			case SCRIPT_HANHANGUL:
 58001  				if *(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Han%32))+*(*Tuint32_t)(unsafe.Pointer(bp + 24))&(uint32(1)<<(ucp_Hangul%32)) == Tuint32_t(0) {
 58002  					return DFALSE
 58003  				}
 58004  				break
 58005  				fallthrough
 58006  
 58007  			// Previously encountered one or more characters that are allowed with a
 58008  			//       list of scripts.
 58009  
 58010  			case SCRIPT_MAP:
 58011  				OK = DFALSE
 58012  
 58013  				{
 58014  					var i int32 = 0
 58015  				__4:
 58016  					if !(i < ucp_Script_Count/32+1) {
 58017  						goto __6
 58018  					}
 58019  					{
 58020  						if *(*Tuint32_t)(unsafe.Pointer(bp + uintptr(i)*4))&*(*Tuint32_t)(unsafe.Pointer(bp + 24 + uintptr(i)*4)) != Tuint32_t(0) {
 58021  							OK = DTRUE
 58022  							goto __6
 58023  						}
 58024  
 58025  					}
 58026  					goto __5
 58027  				__5:
 58028  					i++
 58029  					goto __4
 58030  					goto __6
 58031  				__6:
 58032  				}
 58033  
 58034  				if !(OK != 0) {
 58035  					return DFALSE
 58036  				}
 58037  
 58038  				// The rest of the string must be in this script, but we have to
 58039  				//       allow for the Han complications.
 58040  
 58041  				switch script {
 58042  				case ucp_Han:
 58043  					require_state = SCRIPT_HANPENDING
 58044  					break
 58045  					fallthrough
 58046  
 58047  				case ucp_Hiragana:
 58048  					fallthrough
 58049  				case ucp_Katakana:
 58050  					require_state = SCRIPT_HANHIRAKATA
 58051  					break
 58052  					fallthrough
 58053  
 58054  				case ucp_Bopomofo:
 58055  					require_state = SCRIPT_HANBOPOMOFO
 58056  					break
 58057  					fallthrough
 58058  
 58059  				case ucp_Hangul:
 58060  					require_state = SCRIPT_HANHANGUL
 58061  					break
 58062  					fallthrough
 58063  
 58064  				// Compute the intersection of the required list of scripts and the
 58065  				//         allowed scripts for this character.
 58066  
 58067  				default:
 58068  					{
 58069  						var i int32 = 0
 58070  					__7:
 58071  						if !(i < ucp_Script_Count/32+1) {
 58072  							goto __9
 58073  						}
 58074  						*(*Tuint32_t)(unsafe.Pointer(bp + uintptr(i)*4)) &= *(*Tuint32_t)(unsafe.Pointer(bp + 24 + uintptr(i)*4))
 58075  						goto __8
 58076  					__8:
 58077  						i++
 58078  						goto __7
 58079  						goto __9
 58080  					__9:
 58081  					}
 58082  					break
 58083  				}
 58084  
 58085  				break
 58086  			}
 58087  		} // End checking character's script and extensions.
 58088  
 58089  		// The character is in an acceptable script. We must now ensure that all
 58090  		//   decimal digits in the string come from the same set. Some scripts (e.g.
 58091  		//   Common, Arabic) have more than one set of decimal digits. This code does
 58092  		//   not allow mixing sets, even within the same script. The vector called
 58093  		//   PRIV(ucd_digit_sets)[] contains, in its first element, the number of
 58094  		//   following elements, and then, in ascending order, the code points of the
 58095  		//   '9' characters in every set of 10 digits. Each set is identified by the
 58096  		//   offset in the vector of its '9' character. An initial check of the first
 58097  		//   value picks up ASCII digits quickly. Otherwise, a binary chop is used.
 58098  
 58099  		if int32((*Tucd_record)(unsafe.Pointer(ucd)).Fchartype) == ucp_Nd {
 58100  			var digitset Tuint32_t
 58101  
 58102  			if c <= X_pcre2_ucd_digit_sets_8[1] {
 58103  				digitset = Tuint32_t(1)
 58104  			} else {
 58105  				var mid int32
 58106  				var bot int32 = 1
 58107  				var top int32 = int32(X_pcre2_ucd_digit_sets_8[0])
 58108  				for {
 58109  					if top <= bot+1 {
 58110  						digitset = Tuint32_t(top)
 58111  						break
 58112  					}
 58113  					mid = (top + bot) / 2
 58114  					if c <= X_pcre2_ucd_digit_sets_8[mid] {
 58115  						top = mid
 58116  					} else {
 58117  						bot = mid
 58118  					}
 58119  				}
 58120  			}
 58121  
 58122  			// A required value of 0 means "unset".
 58123  
 58124  			if require_digitset == Tuint32_t(0) {
 58125  				require_digitset = digitset
 58126  			} else if digitset != require_digitset {
 58127  				return DFALSE
 58128  			}
 58129  		} // End digit handling
 58130  
 58131  		// If we haven't yet got to the end, pick up the next character.
 58132  
 58133  		if ptr >= endptr {
 58134  			return DTRUE
 58135  		}
 58136  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))))
 58137  		if utf != 0 && c >= 0xc0 {
 58138  			if c&0x20 == Tuint32_t(0) {
 58139  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&ptr, 1))))&0x3f
 58140  			} else if c&0x10 == Tuint32_t(0) {
 58141  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f
 58142  				ptr += uintptr(2)
 58143  			} else if c&0x08 == Tuint32_t(0) {
 58144  				c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f
 58145  				ptr += uintptr(3)
 58146  			} else if c&0x04 == Tuint32_t(0) {
 58147  				c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f
 58148  				ptr += uintptr(4)
 58149  			} else {
 58150  				c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ptr + 4)))&0x3f
 58151  				ptr += uintptr(5)
 58152  			}
 58153  		}
 58154  
 58155  	}
 58156  	return TBOOL(0) // End checking loop
 58157  
 58158  }
 58159  
 58160  // End of pcre2_script_run.c
 58161  
 58162  // This function is needed only when memmove() is not available.
 58163  
 58164  // End of pcre2_internal.h
 58165  
 58166  // Magic number to provide a small check against being handed junk.
 58167  
 58168  // Deserialization is limited to the current PCRE version and
 58169  // character width.
 58170  
 58171  // ************************************************
 58172  //
 58173  //           Serialize compiled patterns          *
 58174  //
 58175  
 58176  func Xpcre2_serialize_encode_8(tls *libc.TLS, codes uintptr, number_of_codes Tint32_t, serialized_bytes uintptr, serialized_size uintptr, gcontext uintptr) Tint32_t { /* pcre2_serialize.c:72:1: */
 58177  	var bytes uintptr
 58178  	var dst_bytes uintptr
 58179  	var i Tint32_t
 58180  	var total_size Tsize_t
 58181  	var re uintptr
 58182  	var tables uintptr
 58183  	var data uintptr
 58184  
 58185  	var memctl uintptr
 58186  	if gcontext != uintptr(0) {
 58187  		memctl = gcontext
 58188  	} else {
 58189  		memctl = uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8))
 58190  	}
 58191  
 58192  	if codes == uintptr(0) || serialized_bytes == uintptr(0) || serialized_size == uintptr(0) {
 58193  		return -51
 58194  	}
 58195  
 58196  	if number_of_codes <= 0 {
 58197  		return -29
 58198  	}
 58199  
 58200  	// Compute total size.
 58201  	total_size = uint64(unsafe.Sizeof(Tpcre2_serialized_data{})) + uint64(Dcbits_offset+Dcbit_length+256)
 58202  	tables = uintptr(0)
 58203  
 58204  	for i = 0; i < number_of_codes; i++ {
 58205  		if *(*uintptr)(unsafe.Pointer(codes + uintptr(i)*8)) == uintptr(0) {
 58206  			return -51
 58207  		}
 58208  		re = *(*uintptr)(unsafe.Pointer(codes + uintptr(i)*8))
 58209  		if uint64((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fmagic_number) != DMAGIC_NUMBER {
 58210  			return -31
 58211  		}
 58212  		if tables == uintptr(0) {
 58213  			tables = (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables
 58214  		} else if tables != (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables {
 58215  			return -30
 58216  		}
 58217  		total_size = total_size + (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize
 58218  	}
 58219  
 58220  	// Initialize the byte stream.
 58221  	bytes = (*struct {
 58222  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 58223  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmalloc})).f(tls, total_size+Tsize_t(unsafe.Sizeof(Tpcre2_memctl{})), (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58224  	if bytes == uintptr(0) {
 58225  		return -48
 58226  	}
 58227  
 58228  	// The controller is stored as a hidden parameter.
 58229  	libc.Xmemcpy(tls, bytes, memctl, uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 58230  	bytes += uintptr(unsafe.Sizeof(Tpcre2_memctl{}))
 58231  
 58232  	data = bytes
 58233  	(*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fmagic = DSERIALIZED_DATA_MAGIC
 58234  	(*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fversion = Tuint32_t(DPCRE2_MAJOR | int32(DPCRE2_MINOR)<<16)
 58235  	(*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fconfig = uint32(uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))) | uint64(uint64(unsafe.Sizeof(uintptr(0))))<<8 | uint64(uint64(unsafe.Sizeof(Tsize_t(0))))<<16)
 58236  	(*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes = number_of_codes
 58237  
 58238  	// Copy all compiled code data.
 58239  	dst_bytes = bytes + uintptr(uint64(unsafe.Sizeof(Tpcre2_serialized_data{})))
 58240  	libc.Xmemcpy(tls, dst_bytes, tables, uint64(Dcbits_offset+Dcbit_length+256))
 58241  	dst_bytes += uintptr(Dcbits_offset + Dcbit_length + 256)
 58242  
 58243  	for i = 0; i < number_of_codes; i++ {
 58244  		re = *(*uintptr)(unsafe.Pointer(codes + uintptr(i)*8))
 58245  		libc.Xmemcpy(tls, dst_bytes, re, (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize)
 58246  
 58247  		// Certain fields in the compiled code block are re-set during
 58248  		//   deserialization. In order to ensure that the serialized data stream is always
 58249  		//   the same for the same pattern, set them to zero here. We can't assume the
 58250  		//   copy of the pattern is correctly aligned for accessing the fields as part of
 58251  		//   a structure. Note the use of sizeof(void *) in the second of these, to
 58252  		//   specify the size of a pointer. If sizeof(uint8_t *) is used (tables is a
 58253  		//   pointer to uint8_t), gcc gives a warning because the first argument is also a
 58254  		//   pointer to uint8_t. Casting the first argument to (void *) can stop this, but
 58255  		//   it didn't stop Coverity giving the same complaint.
 58256  
 58257  		libc.Xmemset(tls, dst_bytes+uintptr(uint64(uintptr(0))), 0,
 58258  			uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 58259  		libc.Xmemset(tls, dst_bytes+uintptr(uint64(uintptr(0)+24)), 0,
 58260  			uint64(unsafe.Sizeof(uintptr(0))))
 58261  		libc.Xmemset(tls, dst_bytes+uintptr(uint64(uintptr(0)+32)), 0,
 58262  			uint64(unsafe.Sizeof(uintptr(0))))
 58263  
 58264  		dst_bytes += uintptr((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fblocksize)
 58265  	}
 58266  
 58267  	*(*uintptr)(unsafe.Pointer(serialized_bytes)) = bytes
 58268  	*(*Tsize_t)(unsafe.Pointer(serialized_size)) = total_size
 58269  	return number_of_codes
 58270  }
 58271  
 58272  // ************************************************
 58273  //
 58274  //          Deserialize compiled patterns         *
 58275  //
 58276  
 58277  func Xpcre2_serialize_decode_8(tls *libc.TLS, codes uintptr, number_of_codes Tint32_t, bytes uintptr, gcontext uintptr) Tint32_t { /* pcre2_serialize.c:163:1: */
 58278  	bp := tls.Alloc(8)
 58279  	defer tls.Free(8)
 58280  
 58281  	var data uintptr = bytes
 58282  	var memctl uintptr
 58283  	if gcontext != uintptr(0) {
 58284  		memctl = gcontext
 58285  	} else {
 58286  		memctl = uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8))
 58287  	}
 58288  	var src_bytes uintptr
 58289  	var dst_re uintptr
 58290  	var tables uintptr
 58291  	var i Tint32_t
 58292  	var j Tint32_t
 58293  
 58294  	// Sanity checks.
 58295  
 58296  	if data == uintptr(0) || codes == uintptr(0) {
 58297  		return -51
 58298  	}
 58299  	if number_of_codes <= 0 {
 58300  		return -29
 58301  	}
 58302  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes <= 0 {
 58303  		return -62
 58304  	}
 58305  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fmagic != DSERIALIZED_DATA_MAGIC {
 58306  		return -31
 58307  	}
 58308  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fversion != Tuint32_t(DPCRE2_MAJOR|int32(DPCRE2_MINOR)<<16) {
 58309  		return -32
 58310  	}
 58311  	if uint64((*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fconfig) != uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))|uint64(uint64(unsafe.Sizeof(uintptr(0))))<<8|uint64(uint64(unsafe.Sizeof(Tsize_t(0))))<<16 {
 58312  		return -32
 58313  	}
 58314  
 58315  	if number_of_codes > (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes {
 58316  		number_of_codes = (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes
 58317  	}
 58318  
 58319  	src_bytes = bytes + uintptr(uint64(unsafe.Sizeof(Tpcre2_serialized_data{})))
 58320  
 58321  	// Decode tables. The reference count for the tables is stored immediately
 58322  	// following them.
 58323  
 58324  	tables = (*struct {
 58325  		f func(*libc.TLS, Tsize_t, uintptr) uintptr
 58326  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmalloc})).f(tls, uint64(Dcbits_offset+Dcbit_length+256)+uint64(unsafe.Sizeof(Tsize_t(0))), (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58327  	if tables == uintptr(0) {
 58328  		return -48
 58329  	}
 58330  
 58331  	libc.Xmemcpy(tls, tables, src_bytes, uint64(Dcbits_offset+Dcbit_length+256))
 58332  	*(*Tsize_t)(unsafe.Pointer(tables + uintptr(Dcbits_offset+Dcbit_length+256))) = Tsize_t(number_of_codes)
 58333  	src_bytes += uintptr(Dcbits_offset + Dcbit_length + 256)
 58334  
 58335  	// Decode the byte stream. We must not try to read the size from the compiled
 58336  	// code block in the stream, because it might be unaligned, which causes errors on
 58337  	// hardware such as Sparc-64 that doesn't like unaligned memory accesses. The type
 58338  	// of the blocksize field is given its own name to ensure that it is the same here
 58339  	// as in the block.
 58340  
 58341  	for i = 0; i < number_of_codes; i++ {
 58342  		// var blocksize Tsize_t at bp, 8
 58343  
 58344  		libc.Xmemcpy(tls, bp, src_bytes+uintptr(uint64(uintptr(0)+72)),
 58345  			uint64(unsafe.Sizeof(Tsize_t(0))))
 58346  		if *(*Tsize_t)(unsafe.Pointer(bp)) <= Tsize_t(unsafe.Sizeof(Tpcre2_real_code_8{})) {
 58347  			return -62
 58348  		}
 58349  
 58350  		// The allocator provided by gcontext replaces the original one.
 58351  
 58352  		dst_re = X_pcre2_memctl_malloc_8(tls, *(*Tsize_t)(unsafe.Pointer(bp /* blocksize */)),
 58353  			gcontext)
 58354  		if dst_re == uintptr(0) {
 58355  			(*struct {
 58356  				f func(*libc.TLS, uintptr, uintptr)
 58357  			})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, tables, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58358  			for j = 0; j < i; j++ {
 58359  				(*struct {
 58360  					f func(*libc.TLS, uintptr, uintptr)
 58361  				})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, *(*uintptr)(unsafe.Pointer(codes + uintptr(j)*8)), (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58362  				*(*uintptr)(unsafe.Pointer(codes + uintptr(j)*8)) = uintptr(0)
 58363  			}
 58364  			return -48
 58365  		}
 58366  
 58367  		// The new allocator must be preserved.
 58368  
 58369  		libc.Xmemcpy(tls, dst_re+uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))),
 58370  			src_bytes+uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))), *(*Tsize_t)(unsafe.Pointer(bp))-Tsize_t(unsafe.Sizeof(Tpcre2_memctl{})))
 58371  		if uint64((*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Fmagic_number) != DMAGIC_NUMBER || int32((*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Fname_entry_size) > DMAX_NAME_SIZE+DIMM2_SIZE+1 || int32((*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Fname_count) > DMAX_NAME_COUNT {
 58372  			(*struct {
 58373  				f func(*libc.TLS, uintptr, uintptr)
 58374  			})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, dst_re, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58375  			return -62
 58376  		}
 58377  
 58378  		// At the moment only one table is supported.
 58379  
 58380  		(*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Ftables = tables
 58381  		(*Tpcre2_real_code_8)(unsafe.Pointer(dst_re)).Fexecutable_jit = uintptr(0)
 58382  		*(*Tuint32_t)(unsafe.Pointer(dst_re + 96)) |= Tuint32_t(DPCRE2_DEREF_TABLES)
 58383  
 58384  		*(*uintptr)(unsafe.Pointer(codes + uintptr(i)*8)) = dst_re
 58385  		src_bytes += uintptr(*(*Tsize_t)(unsafe.Pointer(bp /* blocksize */)))
 58386  	}
 58387  
 58388  	return number_of_codes
 58389  }
 58390  
 58391  // ************************************************
 58392  //
 58393  //    Get the number of serialized patterns       *
 58394  //
 58395  
 58396  func Xpcre2_serialize_get_number_of_codes_8(tls *libc.TLS, bytes uintptr) Tint32_t { /* pcre2_serialize.c:259:1: */
 58397  	var data uintptr = bytes
 58398  
 58399  	if data == uintptr(0) {
 58400  		return -51
 58401  	}
 58402  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fmagic != DSERIALIZED_DATA_MAGIC {
 58403  		return -31
 58404  	}
 58405  	if (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fversion != Tuint32_t(DPCRE2_MAJOR|int32(DPCRE2_MINOR)<<16) {
 58406  		return -32
 58407  	}
 58408  	if uint64((*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fconfig) != uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))|uint64(uint64(unsafe.Sizeof(uintptr(0))))<<8|uint64(uint64(unsafe.Sizeof(Tsize_t(0))))<<16 {
 58409  		return -32
 58410  	}
 58411  
 58412  	return (*Tpcre2_serialized_data)(unsafe.Pointer(data)).Fnumber_of_codes
 58413  }
 58414  
 58415  // ************************************************
 58416  //
 58417  //            Free the allocated stream           *
 58418  //
 58419  
 58420  func Xpcre2_serialize_free_8(tls *libc.TLS, bytes uintptr) { /* pcre2_serialize.c:277:1: */
 58421  	if bytes != uintptr(0) {
 58422  		var memctl uintptr = bytes - uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 58423  		(*struct {
 58424  			f func(*libc.TLS, uintptr, uintptr)
 58425  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 58426  	}
 58427  }
 58428  
 58429  // End of pcre2_serialize.c
 58430  
 58431  // This function is needed only when memmove() is not available.
 58432  
 58433  // End of pcre2_internal.h
 58434  
 58435  // ************************************************
 58436  //
 58437  //    Emulated memmove() for systems without it   *
 58438  //
 58439  
 58440  // This function can make use of bcopy() if it is available. Otherwise do it by
 58441  // steam, as there some non-Unix environments that lack both memmove() and
 58442  // bcopy().
 58443  
 58444  // ************************************************
 58445  //
 58446  //    Compare two zero-terminated PCRE2 strings   *
 58447  //
 58448  
 58449  //
 58450  // Arguments:
 58451  //   str1        first string
 58452  //   str2        second string
 58453  //
 58454  // Returns:      0, 1, or -1
 58455  
 58456  func X_pcre2_strcmp_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 TPCRE2_SPTR8) int32 { /* pcre2_string_utils.c:102:1: */
 58457  	var c1 TPCRE2_UCHAR8
 58458  	var c2 TPCRE2_UCHAR8
 58459  	for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(str1))) != 0 || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(str2))) != 0 {
 58460  		c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1)))
 58461  		c2 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1)))
 58462  		if int32(c1) != int32(c2) {
 58463  			return libc.Bool32(int32(c1) > int32(c2))<<1 - 1
 58464  		}
 58465  	}
 58466  	return 0
 58467  }
 58468  
 58469  // ************************************************
 58470  //
 58471  //  Compare zero-terminated PCRE2 & 8-bit strings *
 58472  //
 58473  
 58474  // As the 8-bit string is almost always a literal, its type is specified as
 58475  // const char *.
 58476  //
 58477  // Arguments:
 58478  //   str1        first string
 58479  //   str2        second string
 58480  //
 58481  // Returns:      0, 1, or -1
 58482  
 58483  func X_pcre2_strcmp_c8_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 uintptr) int32 { /* pcre2_string_utils.c:130:1: */
 58484  	var c1 TPCRE2_UCHAR8
 58485  	var c2 TPCRE2_UCHAR8
 58486  	for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(str1))) != 0 || int32(*(*uint8)(unsafe.Pointer(str2))) != 0 {
 58487  		c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1)))
 58488  		c2 = TPCRE2_UCHAR8(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1))))
 58489  		if int32(c1) != int32(c2) {
 58490  			return libc.Bool32(int32(c1) > int32(c2))<<1 - 1
 58491  		}
 58492  	}
 58493  	return 0
 58494  }
 58495  
 58496  // ************************************************
 58497  //
 58498  //    Compare two PCRE2 strings, given a length   *
 58499  //
 58500  
 58501  //
 58502  // Arguments:
 58503  //   str1        first string
 58504  //   str2        second string
 58505  //   len         the length
 58506  //
 58507  // Returns:      0, 1, or -1
 58508  
 58509  func X_pcre2_strncmp_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 TPCRE2_SPTR8, len Tsize_t) int32 { /* pcre2_string_utils.c:157:1: */
 58510  	var c1 TPCRE2_UCHAR8
 58511  	var c2 TPCRE2_UCHAR8
 58512  	for ; len > uint64(0); len-- {
 58513  		c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1)))
 58514  		c2 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1)))
 58515  		if int32(c1) != int32(c2) {
 58516  			return libc.Bool32(int32(c1) > int32(c2))<<1 - 1
 58517  		}
 58518  	}
 58519  	return 0
 58520  }
 58521  
 58522  // ************************************************
 58523  //
 58524  // Compare PCRE2 string to 8-bit string by length *
 58525  //
 58526  
 58527  // As the 8-bit string is almost always a literal, its type is specified as
 58528  // const char *.
 58529  //
 58530  // Arguments:
 58531  //   str1        first string
 58532  //   str2        second string
 58533  //   len         the length
 58534  //
 58535  // Returns:      0, 1, or -1
 58536  
 58537  func X_pcre2_strncmp_c8_8(tls *libc.TLS, str1 TPCRE2_SPTR8, str2 uintptr, len Tsize_t) int32 { /* pcre2_string_utils.c:186:1: */
 58538  	var c1 TPCRE2_UCHAR8
 58539  	var c2 TPCRE2_UCHAR8
 58540  	for ; len > uint64(0); len-- {
 58541  		c1 = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str1, 1)))
 58542  		c2 = TPCRE2_UCHAR8(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1))))
 58543  		if int32(c1) != int32(c2) {
 58544  			return libc.Bool32(int32(c1) > int32(c2))<<1 - 1
 58545  		}
 58546  	}
 58547  	return 0
 58548  }
 58549  
 58550  // ************************************************
 58551  //
 58552  //        Find the length of a PCRE2 string       *
 58553  //
 58554  
 58555  //
 58556  // Argument:    the string
 58557  // Returns:     the length
 58558  
 58559  func X_pcre2_strlen_8(tls *libc.TLS, str TPCRE2_SPTR8) Tsize_t { /* pcre2_string_utils.c:209:1: */
 58560  	var c Tsize_t = uint64(0)
 58561  	for int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&str, 1)))) != 0 {
 58562  		c++
 58563  	}
 58564  	return c
 58565  }
 58566  
 58567  // ************************************************
 58568  //
 58569  // Copy 8-bit 0-terminated string to PCRE2 string *
 58570  //
 58571  
 58572  // Arguments:
 58573  //   str1     buffer to receive the string
 58574  //   str2     8-bit string to be copied
 58575  //
 58576  // Returns:   the number of code units used (excluding trailing zero)
 58577  
 58578  func X_pcre2_strcpy_c8_8(tls *libc.TLS, str1 uintptr, str2 uintptr) Tsize_t { /* pcre2_string_utils.c:229:1: */
 58579  	var t uintptr = str1
 58580  	for int32(*(*uint8)(unsafe.Pointer(str2))) != 0 {
 58581  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&t, 1))) = TPCRE2_UCHAR8(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&str2, 1))))
 58582  	}
 58583  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(t)) = TPCRE2_UCHAR8(0)
 58584  	return Tsize_t((int64(t) - int64(str1)) / 1)
 58585  }
 58586  
 58587  // End of pcre2_string_utils.c
 58588  
 58589  // ************************************************
 58590  //
 58591  //   Find the minimum subject length for a group  *
 58592  //
 58593  
 58594  // Scan a parenthesized group and compute the minimum length of subject that
 58595  // is needed to match it. This is a lower bound; it does not mean there is a
 58596  // string of that length that matches. In UTF mode, the result is in characters
 58597  // rather than code units. The field in a compiled pattern for storing the minimum
 58598  // length is 16-bits long (on the grounds that anything longer than that is
 58599  // pathological), so we give up when we reach that amount. This also means that
 58600  // integer overflow for really crazy patterns cannot happen.
 58601  //
 58602  // Backreference minimum lengths are cached to speed up multiple references. This
 58603  // function is called only when the highest back reference in the pattern is less
 58604  // than or equal to MAX_CACHE_BACKREF, which is one less than the size of the
 58605  // caching vector. The zeroth element contains the number of the highest set
 58606  // value.
 58607  //
 58608  // Arguments:
 58609  //   re              compiled pattern block
 58610  //   code            pointer to start of group (the bracket)
 58611  //   startcode       pointer to start of the whole pattern's code
 58612  //   utf             UTF flag
 58613  //   recurses        chain of recurse_check to catch mutual recursion
 58614  //   countptr        pointer to call count (to catch over complexity)
 58615  //   backref_cache   vector for caching back references.
 58616  //
 58617  // This function is no longer called when the pattern contains (*ACCEPT); however,
 58618  // the old code for returning -1 is retained, just in case.
 58619  //
 58620  // Returns:   the minimum length
 58621  //            -1 \C in UTF-8 mode
 58622  //               or (*ACCEPT)
 58623  //               or pattern too complicated
 58624  //            -2 internal error (missing capturing bracket)
 58625  //            -3 internal error (opcode not listed)
 58626  
 58627  func find_minlength(tls *libc.TLS, re uintptr, code TPCRE2_SPTR8, startcode TPCRE2_SPTR8, utf TBOOL, recurses uintptr, countptr uintptr, backref_cache uintptr) int32 { /* pcre2_study.c:103:1: */
 58628  	bp := tls.Alloc(16)
 58629  	defer tls.Free(16)
 58630  
 58631  	var length int32
 58632  	var branchlength int32
 58633  	var prev_cap_recno int32
 58634  	var prev_cap_d int32
 58635  	var prev_recurse_recno int32
 58636  	var prev_recurse_d int32
 58637  	var once_fudge Tuint32_t
 58638  	var had_recurse TBOOL
 58639  	var dupcapused TBOOL
 58640  	var nextbranch TPCRE2_SPTR8
 58641  	var cc uintptr
 58642  	// var this_recurse Trecurse_check at bp, 16
 58643  
 58644  	var r uintptr
 58645  	var dd int32
 58646  	var i int32
 58647  	var count int32
 58648  	var slot uintptr
 58649  	var r1 uintptr
 58650  	var i1 int32
 58651  	var r2 uintptr
 58652  	var d int32
 58653  	var min int32
 58654  	var recno int32
 58655  	var op TPCRE2_UCHAR8
 58656  	var cs uintptr
 58657  	var ce uintptr
 58658  	length = -1
 58659  	branchlength = 0
 58660  	prev_cap_recno = -1
 58661  	prev_cap_d = 0
 58662  	prev_recurse_recno = -1
 58663  	prev_recurse_d = 0
 58664  	once_fudge = Tuint32_t(0)
 58665  	had_recurse = DFALSE
 58666  	dupcapused = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_DUPCAPUSED) != Tuint32_t(0))
 58667  	nextbranch = code + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2)))))
 58668  	cc = code + uintptr(1) + uintptr(DLINK_SIZE)
 58669  
 58670  	// If this is a "could be empty" group, its minimum length is 0.
 58671  
 58672  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) >= OP_SBRA && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) <= OP_SCOND) {
 58673  		goto __1
 58674  	}
 58675  	return 0
 58676  __1:
 58677  	;
 58678  
 58679  	// Skip over capturing bracket number
 58680  
 58681  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRAPOS) {
 58682  		goto __2
 58683  	}
 58684  	cc += uintptr(DIMM2_SIZE)
 58685  __2:
 58686  	;
 58687  
 58688  	// A large and/or complex regex can take too long to process.
 58689  
 58690  	if !(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(countptr)), 1) > 1000) {
 58691  		goto __3
 58692  	}
 58693  	return -1
 58694  __3:
 58695  	;
 58696  
 58697  	// Scan along the opcodes for this branch. If we get to the end of the branch,
 58698  	// check the length against that of the other branches. If the accumulated length
 58699  	// passes 16-bits, reset to that value and skip the rest of the branch.
 58700  
 58701  __4:
 58702  
 58703  	if !(branchlength >= 65535) {
 58704  		goto __7
 58705  	}
 58706  
 58707  	branchlength = 65535
 58708  	cc = nextbranch
 58709  __7:
 58710  	;
 58711  
 58712  	op = *(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))
 58713  	switch int32(op) {
 58714  	case OP_COND:
 58715  		goto __9
 58716  	case OP_SCOND:
 58717  		goto __10
 58718  
 58719  	case OP_BRA:
 58720  		goto __11
 58721  	// Fall through
 58722  
 58723  	case OP_ONCE:
 58724  		goto __12
 58725  	case OP_SCRIPT_RUN:
 58726  		goto __13
 58727  	case OP_SBRA:
 58728  		goto __14
 58729  	case OP_BRAPOS:
 58730  		goto __15
 58731  	case OP_SBRAPOS:
 58732  		goto __16
 58733  
 58734  	// To save time for repeated capturing subpatterns, we remember the
 58735  	//     length of the previous one. Unfortunately we can't do the same for
 58736  	//     the unnumbered ones above. Nor can we do this if (?| is present in the
 58737  	//     pattern because captures with the same number are not then identical.
 58738  
 58739  	case OP_CBRA:
 58740  		goto __17
 58741  	case OP_SCBRA:
 58742  		goto __18
 58743  	case OP_CBRAPOS:
 58744  		goto __19
 58745  	case OP_SCBRAPOS:
 58746  		goto __20
 58747  
 58748  	// ACCEPT makes things far too complicated; we have to give up. In fact,
 58749  	//     from 10.34 onwards, if a pattern contains (*ACCEPT), this function is not
 58750  	//     used. However, leave the code in place, just in case.
 58751  
 58752  	case OP_ACCEPT:
 58753  		goto __21
 58754  	case OP_ASSERT_ACCEPT:
 58755  		goto __22
 58756  
 58757  	// Reached end of a branch; if it's a ket it is the end of a nested
 58758  	//     call. If it's ALT it is an alternation in a nested call. If it is END it's
 58759  	//     the end of the outer call. All can be handled by the same code. If the
 58760  	//     length of any branch is zero, there is no need to scan any subsequent
 58761  	//     branches.
 58762  
 58763  	case OP_ALT:
 58764  		goto __23
 58765  	case OP_KET:
 58766  		goto __24
 58767  	case OP_KETRMAX:
 58768  		goto __25
 58769  	case OP_KETRMIN:
 58770  		goto __26
 58771  	case OP_KETRPOS:
 58772  		goto __27
 58773  	case OP_END:
 58774  		goto __28
 58775  
 58776  	// Skip over assertive subpatterns
 58777  
 58778  	case OP_ASSERT:
 58779  		goto __29
 58780  	case OP_ASSERT_NOT:
 58781  		goto __30
 58782  	case OP_ASSERTBACK:
 58783  		goto __31
 58784  	case OP_ASSERTBACK_NOT:
 58785  		goto __32
 58786  	case OP_ASSERT_NA:
 58787  		goto __33
 58788  	case OP_ASSERTBACK_NA:
 58789  		goto __34
 58790  	// Fall through
 58791  
 58792  	// Skip over things that don't match chars
 58793  
 58794  	case OP_REVERSE:
 58795  		goto __35
 58796  	case OP_CREF:
 58797  		goto __36
 58798  	case OP_DNCREF:
 58799  		goto __37
 58800  	case OP_RREF:
 58801  		goto __38
 58802  	case OP_DNRREF:
 58803  		goto __39
 58804  	case OP_FALSE:
 58805  		goto __40
 58806  	case OP_TRUE:
 58807  		goto __41
 58808  	case OP_CALLOUT:
 58809  		goto __42
 58810  	case OP_SOD:
 58811  		goto __43
 58812  	case OP_SOM:
 58813  		goto __44
 58814  	case OP_EOD:
 58815  		goto __45
 58816  	case OP_EODN:
 58817  		goto __46
 58818  	case OP_CIRC:
 58819  		goto __47
 58820  	case OP_CIRCM:
 58821  		goto __48
 58822  	case OP_DOLL:
 58823  		goto __49
 58824  	case OP_DOLLM:
 58825  		goto __50
 58826  	case OP_NOT_WORD_BOUNDARY:
 58827  		goto __51
 58828  	case OP_WORD_BOUNDARY:
 58829  		goto __52
 58830  
 58831  	case OP_CALLOUT_STR:
 58832  		goto __53
 58833  
 58834  	// Skip over a subpattern that has a {0} or {0,x} quantifier
 58835  
 58836  	case OP_BRAZERO:
 58837  		goto __54
 58838  	case OP_BRAMINZERO:
 58839  		goto __55
 58840  	case OP_BRAPOSZERO:
 58841  		goto __56
 58842  	case OP_SKIPZERO:
 58843  		goto __57
 58844  
 58845  	// Handle literal characters and + repetitions
 58846  
 58847  	case OP_CHAR:
 58848  		goto __58
 58849  	case OP_CHARI:
 58850  		goto __59
 58851  	case OP_NOT:
 58852  		goto __60
 58853  	case OP_NOTI:
 58854  		goto __61
 58855  	case OP_PLUS:
 58856  		goto __62
 58857  	case OP_PLUSI:
 58858  		goto __63
 58859  	case OP_MINPLUS:
 58860  		goto __64
 58861  	case OP_MINPLUSI:
 58862  		goto __65
 58863  	case OP_POSPLUS:
 58864  		goto __66
 58865  	case OP_POSPLUSI:
 58866  		goto __67
 58867  	case OP_NOTPLUS:
 58868  		goto __68
 58869  	case OP_NOTPLUSI:
 58870  		goto __69
 58871  	case OP_NOTMINPLUS:
 58872  		goto __70
 58873  	case OP_NOTMINPLUSI:
 58874  		goto __71
 58875  	case OP_NOTPOSPLUS:
 58876  		goto __72
 58877  	case OP_NOTPOSPLUSI:
 58878  		goto __73
 58879  
 58880  	case OP_TYPEPLUS:
 58881  		goto __74
 58882  	case OP_TYPEMINPLUS:
 58883  		goto __75
 58884  	case OP_TYPEPOSPLUS:
 58885  		goto __76
 58886  
 58887  	// Handle exact repetitions. The count is already in characters, but we
 58888  	//     may need to skip over a multibyte character in UTF mode.
 58889  
 58890  	case OP_EXACT:
 58891  		goto __77
 58892  	case OP_EXACTI:
 58893  		goto __78
 58894  	case OP_NOTEXACT:
 58895  		goto __79
 58896  	case OP_NOTEXACTI:
 58897  		goto __80
 58898  
 58899  	case OP_TYPEEXACT:
 58900  		goto __81
 58901  
 58902  	// Handle single-char non-literal matchers
 58903  
 58904  	case OP_PROP:
 58905  		goto __82
 58906  	case OP_NOTPROP:
 58907  		goto __83
 58908  	// Fall through
 58909  
 58910  	case OP_NOT_DIGIT:
 58911  		goto __84
 58912  	case OP_DIGIT:
 58913  		goto __85
 58914  	case OP_NOT_WHITESPACE:
 58915  		goto __86
 58916  	case OP_WHITESPACE:
 58917  		goto __87
 58918  	case OP_NOT_WORDCHAR:
 58919  		goto __88
 58920  	case OP_WORDCHAR:
 58921  		goto __89
 58922  	case OP_ANY:
 58923  		goto __90
 58924  	case OP_ALLANY:
 58925  		goto __91
 58926  	case OP_EXTUNI:
 58927  		goto __92
 58928  	case OP_HSPACE:
 58929  		goto __93
 58930  	case OP_NOT_HSPACE:
 58931  		goto __94
 58932  	case OP_VSPACE:
 58933  		goto __95
 58934  	case OP_NOT_VSPACE:
 58935  		goto __96
 58936  
 58937  	// "Any newline" might match two characters, but it also might match just
 58938  	//     one.
 58939  
 58940  	case OP_ANYNL:
 58941  		goto __97
 58942  
 58943  	// The single-byte matcher means we can't proceed in UTF mode. (In
 58944  	//     non-UTF mode \C will actually be turned into OP_ALLANY, so won't ever
 58945  	//     appear, but leave the code, just in case.)
 58946  
 58947  	case OP_ANYBYTE:
 58948  		goto __98
 58949  
 58950  	// For repeated character types, we have to test for \p and \P, which have
 58951  	//     an extra two bytes of parameters.
 58952  
 58953  	case OP_TYPESTAR:
 58954  		goto __99
 58955  	case OP_TYPEMINSTAR:
 58956  		goto __100
 58957  	case OP_TYPEQUERY:
 58958  		goto __101
 58959  	case OP_TYPEMINQUERY:
 58960  		goto __102
 58961  	case OP_TYPEPOSSTAR:
 58962  		goto __103
 58963  	case OP_TYPEPOSQUERY:
 58964  		goto __104
 58965  
 58966  	case OP_TYPEUPTO:
 58967  		goto __105
 58968  	case OP_TYPEMINUPTO:
 58969  		goto __106
 58970  	case OP_TYPEPOSUPTO:
 58971  		goto __107
 58972  
 58973  	// Check a class for variable quantification
 58974  
 58975  	case OP_CLASS:
 58976  		goto __108
 58977  	case OP_NCLASS:
 58978  		goto __109
 58979  	case OP_XCLASS:
 58980  		goto __110
 58981  
 58982  	// Backreferences and subroutine calls (OP_RECURSE) are treated in the same
 58983  	//     way: we find the minimum length for the subpattern. A recursion
 58984  	//     (backreference or subroutine) causes an a flag to be set that causes the
 58985  	//     length of this branch to be ignored. The logic is that a recursion can only
 58986  	//     make sense if there is another alternative that stops the recursing. That
 58987  	//     will provide the minimum length (when no recursion happens).
 58988  	//
 58989  	//     If PCRE2_MATCH_UNSET_BACKREF is set, a backreference to an unset bracket
 58990  	//     matches an empty string (by default it causes a matching failure), so in
 58991  	//     that case we must set the minimum length to zero.
 58992  	//
 58993  	//     For backreferenes, if duplicate numbers are present in the pattern we check
 58994  	//     for a reference to a duplicate. If it is, we don't know which version will
 58995  	//     be referenced, so we have to set the minimum length to zero.
 58996  
 58997  	// Duplicate named pattern back reference.
 58998  
 58999  	case OP_DNREF:
 59000  		goto __111
 59001  	case OP_DNREFI:
 59002  		goto __112
 59003  
 59004  	// Single back reference by number. References by name are converted to by
 59005  	//     number when there is no duplication.
 59006  
 59007  	case OP_REF:
 59008  		goto __113
 59009  	case OP_REFI:
 59010  		goto __114
 59011  
 59012  	// Recursion always refers to the first occurrence of a subpattern with a
 59013  	//     given number. Therefore, we can always make use of caching, even when the
 59014  	//     pattern contains multiple subpatterns with the same number.
 59015  
 59016  	case OP_RECURSE:
 59017  		goto __115
 59018  
 59019  	// Anything else does not or need not match a character. We can get the
 59020  	//     item's length from the table, but for those that can match zero occurrences
 59021  	//     of a character, we must take special action for UTF-8 characters. As it
 59022  	//     happens, the "NOT" versions of these opcodes are used at present only for
 59023  	//     ASCII characters, so they could be omitted from this list. However, in
 59024  	//     future that may change, so we include them here so as not to leave a
 59025  	//     gotcha for a future maintainer.
 59026  
 59027  	case OP_UPTO:
 59028  		goto __116
 59029  	case OP_UPTOI:
 59030  		goto __117
 59031  	case OP_NOTUPTO:
 59032  		goto __118
 59033  	case OP_NOTUPTOI:
 59034  		goto __119
 59035  	case OP_MINUPTO:
 59036  		goto __120
 59037  	case OP_MINUPTOI:
 59038  		goto __121
 59039  	case OP_NOTMINUPTO:
 59040  		goto __122
 59041  	case OP_NOTMINUPTOI:
 59042  		goto __123
 59043  	case OP_POSUPTO:
 59044  		goto __124
 59045  	case OP_POSUPTOI:
 59046  		goto __125
 59047  	case OP_NOTPOSUPTO:
 59048  		goto __126
 59049  	case OP_NOTPOSUPTOI:
 59050  		goto __127
 59051  
 59052  	case OP_STAR:
 59053  		goto __128
 59054  	case OP_STARI:
 59055  		goto __129
 59056  	case OP_NOTSTAR:
 59057  		goto __130
 59058  	case OP_NOTSTARI:
 59059  		goto __131
 59060  	case OP_MINSTAR:
 59061  		goto __132
 59062  	case OP_MINSTARI:
 59063  		goto __133
 59064  	case OP_NOTMINSTAR:
 59065  		goto __134
 59066  	case OP_NOTMINSTARI:
 59067  		goto __135
 59068  	case OP_POSSTAR:
 59069  		goto __136
 59070  	case OP_POSSTARI:
 59071  		goto __137
 59072  	case OP_NOTPOSSTAR:
 59073  		goto __138
 59074  	case OP_NOTPOSSTARI:
 59075  		goto __139
 59076  
 59077  	case OP_QUERY:
 59078  		goto __140
 59079  	case OP_QUERYI:
 59080  		goto __141
 59081  	case OP_NOTQUERY:
 59082  		goto __142
 59083  	case OP_NOTQUERYI:
 59084  		goto __143
 59085  	case OP_MINQUERY:
 59086  		goto __144
 59087  	case OP_MINQUERYI:
 59088  		goto __145
 59089  	case OP_NOTMINQUERY:
 59090  		goto __146
 59091  	case OP_NOTMINQUERYI:
 59092  		goto __147
 59093  	case OP_POSQUERY:
 59094  		goto __148
 59095  	case OP_POSQUERYI:
 59096  		goto __149
 59097  	case OP_NOTPOSQUERY:
 59098  		goto __150
 59099  	case OP_NOTPOSQUERYI:
 59100  		goto __151
 59101  
 59102  	// Skip these, but we need to add in the name length.
 59103  
 59104  	case OP_MARK:
 59105  		goto __152
 59106  	case OP_COMMIT_ARG:
 59107  		goto __153
 59108  	case OP_PRUNE_ARG:
 59109  		goto __154
 59110  	case OP_SKIP_ARG:
 59111  		goto __155
 59112  	case OP_THEN_ARG:
 59113  		goto __156
 59114  
 59115  	// The remaining opcodes are just skipped over.
 59116  
 59117  	case OP_CLOSE:
 59118  		goto __157
 59119  	case OP_COMMIT:
 59120  		goto __158
 59121  	case OP_FAIL:
 59122  		goto __159
 59123  	case OP_PRUNE:
 59124  		goto __160
 59125  	case OP_SET_SOM:
 59126  		goto __161
 59127  	case OP_SKIP:
 59128  		goto __162
 59129  	case OP_THEN:
 59130  		goto __163
 59131  
 59132  	// This should not occur: we list all opcodes explicitly so that when
 59133  	//     new ones get added they are properly considered.
 59134  
 59135  	default:
 59136  		goto __164
 59137  	}
 59138  	goto __8
 59139  
 59140  __9:
 59141  __10:
 59142  
 59143  	// If there is only one branch in a condition, the implied branch has zero
 59144  	//     length, so we don't add anything. This covers the DEFINE "condition"
 59145  	//     automatically. If there are two branches we can treat it the same as any
 59146  	//     other non-capturing subpattern.
 59147  
 59148  	cs = cc + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59149  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cs))) != OP_ALT) {
 59150  		goto __165
 59151  	}
 59152  
 59153  	cc = cs + uintptr(1) + uintptr(DLINK_SIZE)
 59154  	goto __8
 59155  __165:
 59156  	;
 59157  	goto PROCESS_NON_CAPTURE
 59158  
 59159  __11:
 59160  	// There's a special case of OP_BRA, when it is wrapped round a repeated
 59161  	//     OP_RECURSE. We'd like to process the latter at this level so that
 59162  	//     remembering the value works for repeated cases. So we do nothing, but
 59163  	//     set a fudge value to skip over the OP_KET after the recurse.
 59164  
 59165  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_RECURSE && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6))) == OP_KET) {
 59166  		goto __166
 59167  	}
 59168  
 59169  	once_fudge = Tuint32_t(1 + DLINK_SIZE)
 59170  	cc += uintptr(1 + DLINK_SIZE)
 59171  	goto __8
 59172  __166:
 59173  	;
 59174  	// Fall through
 59175  
 59176  __12:
 59177  __13:
 59178  __14:
 59179  __15:
 59180  __16:
 59181  PROCESS_NON_CAPTURE:
 59182  	d = find_minlength(tls, re, cc, startcode, utf, recurses, countptr,
 59183  		backref_cache)
 59184  	if !(d < 0) {
 59185  		goto __167
 59186  	}
 59187  	return d
 59188  __167:
 59189  	;
 59190  	branchlength = branchlength + d
 59191  __168:
 59192  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59193  	goto __169
 59194  __169:
 59195  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT {
 59196  		goto __168
 59197  	}
 59198  	goto __170
 59199  __170:
 59200  	;
 59201  	cc += uintptr(1 + DLINK_SIZE)
 59202  	goto __8
 59203  
 59204  	// To save time for repeated capturing subpatterns, we remember the
 59205  	//     length of the previous one. Unfortunately we can't do the same for
 59206  	//     the unnumbered ones above. Nor can we do this if (?| is present in the
 59207  	//     pattern because captures with the same number are not then identical.
 59208  
 59209  __17:
 59210  __18:
 59211  __19:
 59212  __20:
 59213  	recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 4)))))
 59214  	if !(dupcapused != 0 || recno != prev_cap_recno) {
 59215  		goto __171
 59216  	}
 59217  
 59218  	prev_cap_recno = recno
 59219  	prev_cap_d = find_minlength(tls, re, cc, startcode, utf, recurses, countptr,
 59220  		backref_cache)
 59221  	if !(prev_cap_d < 0) {
 59222  		goto __172
 59223  	}
 59224  	return prev_cap_d
 59225  __172:
 59226  	;
 59227  __171:
 59228  	;
 59229  	branchlength = branchlength + prev_cap_d
 59230  __173:
 59231  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59232  	goto __174
 59233  __174:
 59234  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT {
 59235  		goto __173
 59236  	}
 59237  	goto __175
 59238  __175:
 59239  	;
 59240  	cc += uintptr(1 + DLINK_SIZE)
 59241  	goto __8
 59242  
 59243  	// ACCEPT makes things far too complicated; we have to give up. In fact,
 59244  	//     from 10.34 onwards, if a pattern contains (*ACCEPT), this function is not
 59245  	//     used. However, leave the code in place, just in case.
 59246  
 59247  __21:
 59248  __22:
 59249  	return -1
 59250  
 59251  	// Reached end of a branch; if it's a ket it is the end of a nested
 59252  	//     call. If it's ALT it is an alternation in a nested call. If it is END it's
 59253  	//     the end of the outer call. All can be handled by the same code. If the
 59254  	//     length of any branch is zero, there is no need to scan any subsequent
 59255  	//     branches.
 59256  
 59257  __23:
 59258  __24:
 59259  __25:
 59260  __26:
 59261  __27:
 59262  __28:
 59263  	if !(length < 0 || !(had_recurse != 0) && branchlength < length) {
 59264  		goto __176
 59265  	}
 59266  	length = branchlength
 59267  __176:
 59268  	;
 59269  	if !(int32(op) != OP_ALT || length == 0) {
 59270  		goto __177
 59271  	}
 59272  	return length
 59273  __177:
 59274  	;
 59275  	nextbranch = cc + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59276  	cc += uintptr(1 + DLINK_SIZE)
 59277  	branchlength = 0
 59278  	had_recurse = DFALSE
 59279  	goto __8
 59280  
 59281  	// Skip over assertive subpatterns
 59282  
 59283  __29:
 59284  __30:
 59285  __31:
 59286  __32:
 59287  __33:
 59288  __34:
 59289  __178:
 59290  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59291  	goto __179
 59292  __179:
 59293  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT {
 59294  		goto __178
 59295  	}
 59296  	goto __180
 59297  __180:
 59298  	;
 59299  	// Fall through
 59300  
 59301  	// Skip over things that don't match chars
 59302  
 59303  __35:
 59304  __36:
 59305  __37:
 59306  __38:
 59307  __39:
 59308  __40:
 59309  __41:
 59310  __42:
 59311  __43:
 59312  __44:
 59313  __45:
 59314  __46:
 59315  __47:
 59316  __48:
 59317  __49:
 59318  __50:
 59319  __51:
 59320  __52:
 59321  	cc += uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 59322  	goto __8
 59323  
 59324  __53:
 59325  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 6)))))
 59326  	goto __8
 59327  
 59328  	// Skip over a subpattern that has a {0} or {0,x} quantifier
 59329  
 59330  __54:
 59331  __55:
 59332  __56:
 59333  __57:
 59334  	cc += uintptr(X_pcre2_OP_lengths_8[*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))])
 59335  __181:
 59336  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59337  	goto __182
 59338  __182:
 59339  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) == OP_ALT {
 59340  		goto __181
 59341  	}
 59342  	goto __183
 59343  __183:
 59344  	;
 59345  	cc += uintptr(1 + DLINK_SIZE)
 59346  	goto __8
 59347  
 59348  	// Handle literal characters and + repetitions
 59349  
 59350  __58:
 59351  __59:
 59352  __60:
 59353  __61:
 59354  __62:
 59355  __63:
 59356  __64:
 59357  __65:
 59358  __66:
 59359  __67:
 59360  __68:
 59361  __69:
 59362  __70:
 59363  __71:
 59364  __72:
 59365  __73:
 59366  	branchlength++
 59367  	cc += uintptr(2)
 59368  	if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0) {
 59369  		goto __184
 59370  	}
 59371  	cc += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f])
 59372  __184:
 59373  	;
 59374  	goto __8
 59375  
 59376  __74:
 59377  __75:
 59378  __76:
 59379  	branchlength++
 59380  	cc += func() uintptr {
 59381  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_NOTPROP {
 59382  			return uintptr(4)
 59383  		}
 59384  		return uintptr(2)
 59385  	}()
 59386  	goto __8
 59387  
 59388  	// Handle exact repetitions. The count is already in characters, but we
 59389  	//     may need to skip over a multibyte character in UTF mode.
 59390  
 59391  __77:
 59392  __78:
 59393  __79:
 59394  __80:
 59395  	branchlength = int32(uint32(branchlength) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59396  	cc += uintptr(2 + DIMM2_SIZE)
 59397  	if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0) {
 59398  		goto __185
 59399  	}
 59400  	cc += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f])
 59401  __185:
 59402  	;
 59403  	goto __8
 59404  
 59405  __81:
 59406  	branchlength = int32(uint32(branchlength) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59407  	cc += uintptr(2 + DIMM2_SIZE + func() int32 {
 59408  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_PROP ||
 59409  			int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_NOTPROP {
 59410  			return 2
 59411  		}
 59412  		return 0
 59413  	}())
 59414  	goto __8
 59415  
 59416  	// Handle single-char non-literal matchers
 59417  
 59418  __82:
 59419  __83:
 59420  	cc += uintptr(2)
 59421  	// Fall through
 59422  
 59423  __84:
 59424  __85:
 59425  __86:
 59426  __87:
 59427  __88:
 59428  __89:
 59429  __90:
 59430  __91:
 59431  __92:
 59432  __93:
 59433  __94:
 59434  __95:
 59435  __96:
 59436  	branchlength++
 59437  	cc++
 59438  	goto __8
 59439  
 59440  	// "Any newline" might match two characters, but it also might match just
 59441  	//     one.
 59442  
 59443  __97:
 59444  	branchlength = branchlength + 1
 59445  	cc++
 59446  	goto __8
 59447  
 59448  	// The single-byte matcher means we can't proceed in UTF mode. (In
 59449  	//     non-UTF mode \C will actually be turned into OP_ALLANY, so won't ever
 59450  	//     appear, but leave the code, just in case.)
 59451  
 59452  __98:
 59453  	if !(utf != 0) {
 59454  		goto __186
 59455  	}
 59456  	return -1
 59457  __186:
 59458  	;
 59459  	branchlength++
 59460  	cc++
 59461  	goto __8
 59462  
 59463  	// For repeated character types, we have to test for \p and \P, which have
 59464  	//     an extra two bytes of parameters.
 59465  
 59466  __99:
 59467  __100:
 59468  __101:
 59469  __102:
 59470  __103:
 59471  __104:
 59472  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_PROP || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))) == OP_NOTPROP) {
 59473  		goto __187
 59474  	}
 59475  	cc += uintptr(2)
 59476  __187:
 59477  	;
 59478  	cc += uintptr(X_pcre2_OP_lengths_8[op])
 59479  	goto __8
 59480  
 59481  __105:
 59482  __106:
 59483  __107:
 59484  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_PROP ||
 59485  		int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3))) == OP_NOTPROP) {
 59486  		goto __188
 59487  	}
 59488  	cc += uintptr(2)
 59489  __188:
 59490  	;
 59491  	cc += uintptr(X_pcre2_OP_lengths_8[op])
 59492  	goto __8
 59493  
 59494  	// Check a class for variable quantification
 59495  
 59496  __108:
 59497  __109:
 59498  __110:
 59499  	// The original code caused an unsigned overflow in 64 bit systems,
 59500  	//     so now we use a conditional statement.
 59501  	if !(int32(op) == OP_XCLASS) {
 59502  		goto __189
 59503  	}
 59504  	cc += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59505  	goto __190
 59506  __189:
 59507  	cc += uintptr(X_pcre2_OP_lengths_8[OP_CLASS])
 59508  __190:
 59509  	;
 59510  
 59511  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) {
 59512  	case OP_CRPLUS:
 59513  		goto __192
 59514  	case OP_CRMINPLUS:
 59515  		goto __193
 59516  	case OP_CRPOSPLUS:
 59517  		goto __194
 59518  	// Fall through
 59519  
 59520  	case OP_CRSTAR:
 59521  		goto __195
 59522  	case OP_CRMINSTAR:
 59523  		goto __196
 59524  	case OP_CRQUERY:
 59525  		goto __197
 59526  	case OP_CRMINQUERY:
 59527  		goto __198
 59528  	case OP_CRPOSSTAR:
 59529  		goto __199
 59530  	case OP_CRPOSQUERY:
 59531  		goto __200
 59532  
 59533  	case OP_CRRANGE:
 59534  		goto __201
 59535  	case OP_CRMINRANGE:
 59536  		goto __202
 59537  	case OP_CRPOSRANGE:
 59538  		goto __203
 59539  
 59540  	default:
 59541  		goto __204
 59542  	}
 59543  	goto __191
 59544  
 59545  __192:
 59546  __193:
 59547  __194:
 59548  	branchlength++
 59549  	// Fall through
 59550  
 59551  __195:
 59552  __196:
 59553  __197:
 59554  __198:
 59555  __199:
 59556  __200:
 59557  	cc++
 59558  	goto __191
 59559  
 59560  __201:
 59561  __202:
 59562  __203:
 59563  	branchlength = int32(uint32(branchlength) + uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59564  	cc += uintptr(1 + 2*DIMM2_SIZE)
 59565  	goto __191
 59566  
 59567  __204:
 59568  	branchlength++
 59569  	goto __191
 59570  __191:
 59571  	;
 59572  	goto __8
 59573  
 59574  	// Backreferences and subroutine calls (OP_RECURSE) are treated in the same
 59575  	//     way: we find the minimum length for the subpattern. A recursion
 59576  	//     (backreference or subroutine) causes an a flag to be set that causes the
 59577  	//     length of this branch to be ignored. The logic is that a recursion can only
 59578  	//     make sense if there is another alternative that stops the recursing. That
 59579  	//     will provide the minimum length (when no recursion happens).
 59580  	//
 59581  	//     If PCRE2_MATCH_UNSET_BACKREF is set, a backreference to an unset bracket
 59582  	//     matches an empty string (by default it causes a matching failure), so in
 59583  	//     that case we must set the minimum length to zero.
 59584  	//
 59585  	//     For backreferenes, if duplicate numbers are present in the pattern we check
 59586  	//     for a reference to a duplicate. If it is, we don't know which version will
 59587  	//     be referenced, so we have to set the minimum length to zero.
 59588  
 59589  	// Duplicate named pattern back reference.
 59590  
 59591  __111:
 59592  __112:
 59593  	if !(!(dupcapused != 0) && (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_UNSET_BACKREF == Tuint32_t(0)) {
 59594  		goto __205
 59595  	}
 59596  
 59597  	count = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 4)))))
 59598  	slot =
 59599  		re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) + uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))*uint32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size))
 59600  
 59601  	d = 0x7fffffff
 59602  
 59603  	// Scan all groups with the same name; find the shortest.
 59604  
 59605  __207:
 59606  	if !(libc.PostDecInt32(&count, 1) > 0) {
 59607  		goto __208
 59608  	}
 59609  
 59610  	recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(slot + 1)))))
 59611  
 59612  	if !(recno <= *(*int32)(unsafe.Pointer(backref_cache)) && *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) >= 0) {
 59613  		goto __209
 59614  	}
 59615  	dd = *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4))
 59616  	goto __210
 59617  __209:
 59618  
 59619  	ce = libc.AssignUintptr(&cs, X_pcre2_find_bracket_8(tls, startcode, utf, recno))
 59620  	if !(cs == uintptr(0)) {
 59621  		goto __211
 59622  	}
 59623  	return -2
 59624  __211:
 59625  	;
 59626  __212:
 59627  	ce += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 2)))))
 59628  	goto __213
 59629  __213:
 59630  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce))) == OP_ALT {
 59631  		goto __212
 59632  	}
 59633  	goto __214
 59634  __214:
 59635  	;
 59636  
 59637  	dd = 0
 59638  	if !(!(dupcapused != 0) || X_pcre2_find_bracket_8(tls, ce, utf, recno) == uintptr(0)) {
 59639  		goto __215
 59640  	}
 59641  
 59642  	if !(cc > cs && cc < ce) {
 59643  		goto __216
 59644  	} /* Simple recursion */
 59645  
 59646  	had_recurse = DTRUE
 59647  	goto __217
 59648  __216:
 59649  
 59650  	r = recurses
 59651  	r = recurses
 59652  __218:
 59653  	if !(r != uintptr(0)) {
 59654  		goto __220
 59655  	}
 59656  	if !((*Trecurse_check)(unsafe.Pointer(r)).Fgroup == cs) {
 59657  		goto __221
 59658  	}
 59659  	goto __220
 59660  __221:
 59661  	;
 59662  	goto __219
 59663  __219:
 59664  	r = (*Trecurse_check)(unsafe.Pointer(r)).Fprev
 59665  	goto __218
 59666  	goto __220
 59667  __220:
 59668  	;
 59669  	if !(r != uintptr(0)) {
 59670  		goto __222
 59671  	} /* Mutual recursion */
 59672  
 59673  	had_recurse = DTRUE
 59674  	goto __223
 59675  __222:
 59676  
 59677  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fprev = recurses // No recursion
 59678  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fgroup = cs
 59679  	dd = find_minlength(tls, re, cs, startcode, utf, bp,
 59680  		countptr, backref_cache)
 59681  	if !(dd < 0) {
 59682  		goto __224
 59683  	}
 59684  	return dd
 59685  __224:
 59686  	;
 59687  __223:
 59688  	;
 59689  __217:
 59690  	;
 59691  __215:
 59692  	;
 59693  
 59694  	*(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) = dd
 59695  	i = *(*int32)(unsafe.Pointer(backref_cache)) + 1
 59696  __225:
 59697  	if !(i < recno) {
 59698  		goto __227
 59699  	}
 59700  	*(*int32)(unsafe.Pointer(backref_cache + uintptr(i)*4)) = -1
 59701  	goto __226
 59702  __226:
 59703  	i++
 59704  	goto __225
 59705  	goto __227
 59706  __227:
 59707  	;
 59708  	*(*int32)(unsafe.Pointer(backref_cache)) = recno
 59709  __210:
 59710  	;
 59711  
 59712  	if !(dd < d) {
 59713  		goto __228
 59714  	}
 59715  	d = dd
 59716  __228:
 59717  	;
 59718  	if !(d <= 0) {
 59719  		goto __229
 59720  	}
 59721  	goto __208
 59722  __229:
 59723  	; // No point looking at any more
 59724  	slot += uintptr((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)
 59725  	goto __207
 59726  __208:
 59727  	;
 59728  	goto __206
 59729  __205:
 59730  	d = 0
 59731  __206:
 59732  	;
 59733  	cc += uintptr(1 + 2*DIMM2_SIZE)
 59734  	goto REPEAT_BACK_REFERENCE
 59735  
 59736  	// Single back reference by number. References by name are converted to by
 59737  	//     number when there is no duplication.
 59738  
 59739  __113:
 59740  __114:
 59741  	recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59742  	if !(recno <= *(*int32)(unsafe.Pointer(backref_cache)) && *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) >= 0) {
 59743  		goto __230
 59744  	}
 59745  	d = *(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4))
 59746  	goto __231
 59747  __230:
 59748  
 59749  	d = 0
 59750  
 59751  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_MATCH_UNSET_BACKREF == Tuint32_t(0)) {
 59752  		goto __232
 59753  	}
 59754  
 59755  	ce = libc.AssignUintptr(&cs, X_pcre2_find_bracket_8(tls, startcode, utf, recno))
 59756  	if !(cs == uintptr(0)) {
 59757  		goto __233
 59758  	}
 59759  	return -2
 59760  __233:
 59761  	;
 59762  __234:
 59763  	ce += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 2)))))
 59764  	goto __235
 59765  __235:
 59766  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce))) == OP_ALT {
 59767  		goto __234
 59768  	}
 59769  	goto __236
 59770  __236:
 59771  	;
 59772  
 59773  	if !(!(dupcapused != 0) || X_pcre2_find_bracket_8(tls, ce, utf, recno) == uintptr(0)) {
 59774  		goto __237
 59775  	}
 59776  
 59777  	if !(cc > cs && cc < ce) {
 59778  		goto __238
 59779  	} /* Simple recursion */
 59780  
 59781  	had_recurse = DTRUE
 59782  	goto __239
 59783  __238:
 59784  
 59785  	r1 = recurses
 59786  	r1 = recurses
 59787  __240:
 59788  	if !(r1 != uintptr(0)) {
 59789  		goto __242
 59790  	}
 59791  	if !((*Trecurse_check)(unsafe.Pointer(r1)).Fgroup == cs) {
 59792  		goto __243
 59793  	}
 59794  	goto __242
 59795  __243:
 59796  	;
 59797  	goto __241
 59798  __241:
 59799  	r1 = (*Trecurse_check)(unsafe.Pointer(r1)).Fprev
 59800  	goto __240
 59801  	goto __242
 59802  __242:
 59803  	;
 59804  	if !(r1 != uintptr(0)) {
 59805  		goto __244
 59806  	} /* Mutual recursion */
 59807  
 59808  	had_recurse = DTRUE
 59809  	goto __245
 59810  __244: /* No recursion */
 59811  
 59812  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fprev = recurses
 59813  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fgroup = cs
 59814  	d = find_minlength(tls, re, cs, startcode, utf, bp, countptr,
 59815  		backref_cache)
 59816  	if !(d < 0) {
 59817  		goto __246
 59818  	}
 59819  	return d
 59820  __246:
 59821  	;
 59822  __245:
 59823  	;
 59824  __239:
 59825  	;
 59826  __237:
 59827  	;
 59828  __232:
 59829  	;
 59830  
 59831  	*(*int32)(unsafe.Pointer(backref_cache + uintptr(recno)*4)) = d
 59832  	i1 = *(*int32)(unsafe.Pointer(backref_cache)) + 1
 59833  __247:
 59834  	if !(i1 < recno) {
 59835  		goto __249
 59836  	}
 59837  	*(*int32)(unsafe.Pointer(backref_cache + uintptr(i1)*4)) = -1
 59838  	goto __248
 59839  __248:
 59840  	i1++
 59841  	goto __247
 59842  	goto __249
 59843  __249:
 59844  	;
 59845  	*(*int32)(unsafe.Pointer(backref_cache)) = recno
 59846  __231:
 59847  	;
 59848  
 59849  	cc += uintptr(1 + DIMM2_SIZE)
 59850  
 59851  	// Handle repeated back references
 59852  
 59853  REPEAT_BACK_REFERENCE:
 59854  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc))) {
 59855  	case OP_CRSTAR:
 59856  		goto __251
 59857  	case OP_CRMINSTAR:
 59858  		goto __252
 59859  	case OP_CRQUERY:
 59860  		goto __253
 59861  	case OP_CRMINQUERY:
 59862  		goto __254
 59863  	case OP_CRPOSSTAR:
 59864  		goto __255
 59865  	case OP_CRPOSQUERY:
 59866  		goto __256
 59867  
 59868  	case OP_CRPLUS:
 59869  		goto __257
 59870  	case OP_CRMINPLUS:
 59871  		goto __258
 59872  	case OP_CRPOSPLUS:
 59873  		goto __259
 59874  
 59875  	case OP_CRRANGE:
 59876  		goto __260
 59877  	case OP_CRMINRANGE:
 59878  		goto __261
 59879  	case OP_CRPOSRANGE:
 59880  		goto __262
 59881  
 59882  	default:
 59883  		goto __263
 59884  	}
 59885  	goto __250
 59886  
 59887  __251:
 59888  __252:
 59889  __253:
 59890  __254:
 59891  __255:
 59892  __256:
 59893  	min = 0
 59894  	cc++
 59895  	goto __250
 59896  
 59897  __257:
 59898  __258:
 59899  __259:
 59900  	min = 1
 59901  	cc++
 59902  	goto __250
 59903  
 59904  __260:
 59905  __261:
 59906  __262:
 59907  	min = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2)))))
 59908  	cc += uintptr(1 + 2*DIMM2_SIZE)
 59909  	goto __250
 59910  
 59911  __263:
 59912  	min = 1
 59913  	goto __250
 59914  __250:
 59915  	;
 59916  
 59917  	// Take care not to overflow: (1) min and d are ints, so check that their
 59918  	//      product is not greater than INT_MAX. (2) branchlength is limited to
 59919  	//      UINT16_MAX (checked at the top of the loop).
 59920  
 59921  	if !(d > 0 && 0x7fffffff/d < min || 65535-branchlength < min*d) {
 59922  		goto __264
 59923  	}
 59924  	branchlength = 65535
 59925  	goto __265
 59926  __264:
 59927  	branchlength = branchlength + min*d
 59928  __265:
 59929  	;
 59930  	goto __8
 59931  
 59932  	// Recursion always refers to the first occurrence of a subpattern with a
 59933  	//     given number. Therefore, we can always make use of caching, even when the
 59934  	//     pattern contains multiple subpatterns with the same number.
 59935  
 59936  __115:
 59937  	cs = libc.AssignUintptr(&ce, startcode+uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 2))))))
 59938  	recno = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cs + 3)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cs + 4)))))
 59939  	if !(recno == prev_recurse_recno) {
 59940  		goto __266
 59941  	}
 59942  
 59943  	branchlength = branchlength + prev_recurse_d
 59944  	goto __267
 59945  __266:
 59946  
 59947  __268:
 59948  	ce += uintptr(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce + 2)))))
 59949  	goto __269
 59950  __269:
 59951  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(ce))) == OP_ALT {
 59952  		goto __268
 59953  	}
 59954  	goto __270
 59955  __270:
 59956  	;
 59957  	if !(cc > cs && cc < ce) {
 59958  		goto __271
 59959  	} // Simple recursion
 59960  	had_recurse = DTRUE
 59961  	goto __272
 59962  __271:
 59963  
 59964  	r2 = recurses
 59965  	r2 = recurses
 59966  __273:
 59967  	if !(r2 != uintptr(0)) {
 59968  		goto __275
 59969  	}
 59970  	if !((*Trecurse_check)(unsafe.Pointer(r2)).Fgroup == cs) {
 59971  		goto __276
 59972  	}
 59973  	goto __275
 59974  __276:
 59975  	;
 59976  	goto __274
 59977  __274:
 59978  	r2 = (*Trecurse_check)(unsafe.Pointer(r2)).Fprev
 59979  	goto __273
 59980  	goto __275
 59981  __275:
 59982  	;
 59983  	if !(r2 != uintptr(0)) {
 59984  		goto __277
 59985  	} // Mutual recursion
 59986  	had_recurse = DTRUE
 59987  	goto __278
 59988  __277:
 59989  
 59990  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fprev = recurses
 59991  	(*Trecurse_check)(unsafe.Pointer(bp /* &this_recurse */)).Fgroup = cs
 59992  	prev_recurse_d = find_minlength(tls, re, cs, startcode, utf, bp,
 59993  		countptr, backref_cache)
 59994  	if !(prev_recurse_d < 0) {
 59995  		goto __279
 59996  	}
 59997  	return prev_recurse_d
 59998  __279:
 59999  	;
 60000  	prev_recurse_recno = recno
 60001  	branchlength = branchlength + prev_recurse_d
 60002  __278:
 60003  	;
 60004  __272:
 60005  	;
 60006  __267:
 60007  	;
 60008  	cc += uintptr(Tuint32_t(1+DLINK_SIZE) + once_fudge)
 60009  	once_fudge = Tuint32_t(0)
 60010  	goto __8
 60011  
 60012  	// Anything else does not or need not match a character. We can get the
 60013  	//     item's length from the table, but for those that can match zero occurrences
 60014  	//     of a character, we must take special action for UTF-8 characters. As it
 60015  	//     happens, the "NOT" versions of these opcodes are used at present only for
 60016  	//     ASCII characters, so they could be omitted from this list. However, in
 60017  	//     future that may change, so we include them here so as not to leave a
 60018  	//     gotcha for a future maintainer.
 60019  
 60020  __116:
 60021  __117:
 60022  __118:
 60023  __119:
 60024  __120:
 60025  __121:
 60026  __122:
 60027  __123:
 60028  __124:
 60029  __125:
 60030  __126:
 60031  __127:
 60032  
 60033  __128:
 60034  __129:
 60035  __130:
 60036  __131:
 60037  __132:
 60038  __133:
 60039  __134:
 60040  __135:
 60041  __136:
 60042  __137:
 60043  __138:
 60044  __139:
 60045  
 60046  __140:
 60047  __141:
 60048  __142:
 60049  __143:
 60050  __144:
 60051  __145:
 60052  __146:
 60053  __147:
 60054  __148:
 60055  __149:
 60056  __150:
 60057  __151:
 60058  
 60059  	cc += uintptr(X_pcre2_OP_lengths_8[op])
 60060  	if !(utf != 0 && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1)))) >= 0xc0) {
 60061  		goto __280
 60062  	}
 60063  	cc += uintptr(X_pcre2_utf8_table4[uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + libc.UintptrFromInt32(-1))))&0x3f])
 60064  __280:
 60065  	;
 60066  	goto __8
 60067  
 60068  	// Skip these, but we need to add in the name length.
 60069  
 60070  __152:
 60071  __153:
 60072  __154:
 60073  __155:
 60074  __156:
 60075  	cc += uintptr(int32(X_pcre2_OP_lengths_8[op]) + int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(cc + 1))))
 60076  	goto __8
 60077  
 60078  	// The remaining opcodes are just skipped over.
 60079  
 60080  __157:
 60081  __158:
 60082  __159:
 60083  __160:
 60084  __161:
 60085  __162:
 60086  __163:
 60087  	cc += uintptr(X_pcre2_OP_lengths_8[op])
 60088  	goto __8
 60089  
 60090  	// This should not occur: we list all opcodes explicitly so that when
 60091  	//     new ones get added they are properly considered.
 60092  
 60093  __164:
 60094  	return -3
 60095  __8:
 60096  	;
 60097  	goto __5
 60098  __5:
 60099  	goto __4
 60100  	goto __6
 60101  __6:
 60102  	;
 60103  	return int32(0)
 60104  	// Control never gets here
 60105  }
 60106  
 60107  // ************************************************
 60108  //
 60109  //      Set a bit and maybe its alternate case    *
 60110  //
 60111  
 60112  // Given a character, set its first code unit's bit in the table, and also the
 60113  // corresponding bit for the other version of a letter if we are caseless.
 60114  //
 60115  // Arguments:
 60116  //   re            points to the regex block
 60117  //   p             points to the first code unit of the character
 60118  //   caseless      TRUE if caseless
 60119  //   utf           TRUE for UTF mode
 60120  //   ucp           TRUE for UCP mode
 60121  //
 60122  // Returns:        pointer after the character
 60123  
 60124  func set_table_bit(tls *libc.TLS, re uintptr, p TPCRE2_SPTR8, caseless TBOOL, utf TBOOL, ucp TBOOL) TPCRE2_SPTR8 { /* pcre2_study.c:781:1: */
 60125  	bp := tls.Alloc(6)
 60126  	defer tls.Free(6)
 60127  
 60128  	var c Tuint32_t = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1)))) // First code unit
 60129  
 60130  	_ = utf // Stop compiler warnings when UTF not supported
 60131  	_ = ucp
 60132  
 60133  	// In 16-bit and 32-bit modes, code units greater than 0xff set the bit for
 60134  	// 0xff.
 60135  
 60136  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c/Tuint32_t(8)))) |= Tuint8_t(uint32(1) << (c & Tuint32_t(7)))
 60137  
 60138  	// In UTF-8 or UTF-16 mode, pick up the remaining code units in order to find
 60139  	// the end of the character, even when caseless.
 60140  
 60141  	if utf != 0 {
 60142  		if c >= Tuint32_t(0xc0) {
 60143  			if c&0x20 == Tuint32_t(0) {
 60144  				c = c&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))))&0x3f
 60145  			} else if c&0x10 == Tuint32_t(0) {
 60146  				c = c&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f
 60147  				p += uintptr(2)
 60148  			} else if c&0x08 == Tuint32_t(0) {
 60149  				c = c&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f
 60150  				p += uintptr(3)
 60151  			} else if c&0x04 == Tuint32_t(0) {
 60152  				c = c&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 3)))&0x3f
 60153  				p += uintptr(4)
 60154  			} else {
 60155  				c = c&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p + 4)))&0x3f
 60156  				p += uintptr(5)
 60157  			}
 60158  		}
 60159  
 60160  	}
 60161  
 60162  	// If caseless, handle the other case of the character.
 60163  
 60164  	if caseless != 0 {
 60165  		if utf != 0 || ucp != 0 {
 60166  			c = Tuint32_t(int32(c) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12)).Fother_case)
 60167  			if utf != 0 {
 60168  				// var buff [6]TPCRE2_UCHAR8 at bp, 6
 60169  
 60170  				X_pcre2_ord2utf_8(tls, c, bp)
 60171  				*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)))/8))) |= Tuint8_t(uint32(1) << (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp))) & 7))
 60172  			} else if c < Tuint32_t(256) {
 60173  				*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c/Tuint32_t(8)))) |= Tuint8_t(uint32(1) << (c & Tuint32_t(7)))
 60174  			}
 60175  		} else
 60176  
 60177  		// Not UTF or UCP
 60178  
 60179  		if 1 != 0 {
 60180  			*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Tuint32_t(Dfcc_offset)+c))))/8))) |= Tuint8_t(uint32(1) << (int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Tuint32_t(Dfcc_offset)+c)))) & 7))
 60181  		}
 60182  	}
 60183  
 60184  	return p
 60185  }
 60186  
 60187  // ************************************************
 60188  //
 60189  //     Set bits for a positive character type     *
 60190  //
 60191  
 60192  // This function sets starting bits for a character type. In UTF-8 mode, we can
 60193  // only do a direct setting for bytes less than 128, as otherwise there can be
 60194  // confusion with bytes in the middle of UTF-8 characters. In a "traditional"
 60195  // environment, the tables will only recognize ASCII characters anyway, but in at
 60196  // least one Windows environment, some higher bytes bits were set in the tables.
 60197  // So we deal with that case by considering the UTF-8 encoding.
 60198  //
 60199  // Arguments:
 60200  //   re             the regex block
 60201  //   cbit type      the type of character wanted
 60202  //   table_limit    32 for non-UTF-8; 16 for UTF-8
 60203  //
 60204  // Returns:         nothing
 60205  
 60206  func set_type_bits(tls *libc.TLS, re uintptr, cbit_type int32, table_limit uint32) { /* pcre2_study.c:866:1: */
 60207  	bp := tls.Alloc(6)
 60208  	defer tls.Free(6)
 60209  
 60210  	var c Tuint32_t
 60211  	for c = Tuint32_t(0); c < table_limit; c++ {
 60212  		*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(c+Tuint32_t(Dcbits_offset)+Tuint32_t(cbit_type))))))
 60213  	}
 60214  	if table_limit == uint32(32) {
 60215  		return
 60216  	}
 60217  	for c = Tuint32_t(128); c < Tuint32_t(256); c++ {
 60218  		if uint32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Tuint32_t(Dcbits_offset)+c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0) {
 60219  			// var buff [6]TPCRE2_UCHAR8 at bp, 6
 60220  
 60221  			X_pcre2_ord2utf_8(tls, c, bp)
 60222  			*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)))/8))) |= Tuint8_t(uint32(1) << (int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp))) & 7))
 60223  		}
 60224  	}
 60225  }
 60226  
 60227  // ************************************************
 60228  //
 60229  //     Set bits for a negative character type     *
 60230  //
 60231  
 60232  // This function sets starting bits for a negative character type such as \D.
 60233  // In UTF-8 mode, we can only do a direct setting for bytes less than 128, as
 60234  // otherwise there can be confusion with bytes in the middle of UTF-8 characters.
 60235  // Unlike in the positive case, where we can set appropriate starting bits for
 60236  // specific high-valued UTF-8 characters, in this case we have to set the bits for
 60237  // all high-valued characters. The lowest is 0xc2, but we overkill by starting at
 60238  // 0xc0 (192) for simplicity.
 60239  //
 60240  // Arguments:
 60241  //   re             the regex block
 60242  //   cbit type      the type of character wanted
 60243  //   table_limit    32 for non-UTF-8; 16 for UTF-8
 60244  //
 60245  // Returns:         nothing
 60246  
 60247  func set_nottype_bits(tls *libc.TLS, re uintptr, cbit_type int32, table_limit uint32) { /* pcre2_study.c:907:1: */
 60248  	var c Tuint32_t
 60249  	for c = Tuint32_t(0); c < table_limit; c++ {
 60250  		*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) |= Tuint8_t(int32(Tuint8_t(^int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(c+Tuint32_t(Dcbits_offset)+Tuint32_t(cbit_type))))))))
 60251  	}
 60252  	if table_limit != uint32(32) {
 60253  		for c = Tuint32_t(24); c < Tuint32_t(32); c++ {
 60254  			*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) = Tuint8_t(0xff)
 60255  		}
 60256  	}
 60257  }
 60258  
 60259  // ************************************************
 60260  //
 60261  //      Create bitmap of starting code units      *
 60262  //
 60263  
 60264  // This function scans a compiled unanchored expression recursively and
 60265  // attempts to build a bitmap of the set of possible starting code units whose
 60266  // values are less than 256. In 16-bit and 32-bit mode, values above 255 all cause
 60267  // the 255 bit to be set. When calling set[_not]_type_bits() in UTF-8 (sic) mode
 60268  // we pass a value of 16 rather than 32 as the final argument. (See comments in
 60269  // those functions for the reason.)
 60270  //
 60271  // The SSB_CONTINUE return is useful for parenthesized groups in patterns such as
 60272  // (a*)b where the group provides some optional starting code units but scanning
 60273  // must continue at the outer level to find at least one mandatory code unit. At
 60274  // the outermost level, this function fails unless the result is SSB_DONE.
 60275  //
 60276  // We restrict recursion (for nested groups) to 1000 to avoid stack overflow
 60277  // issues.
 60278  //
 60279  // Arguments:
 60280  //   re           points to the compiled regex block
 60281  //   code         points to an expression
 60282  //   utf          TRUE if in UTF mode
 60283  //   ucp          TRUE if in UCP mode
 60284  //   depthptr     pointer to recurse depth
 60285  //
 60286  // Returns:       SSB_FAIL     => Failed to find any starting code units
 60287  //                SSB_DONE     => Found mandatory starting code units
 60288  //                SSB_CONTINUE => Found optional starting code units
 60289  //                SSB_UNKNOWN  => Hit an unrecognized opcode
 60290  //                SSB_TOODEEP  => Recursion is too deep
 60291  
 60292  func set_start_bits(tls *libc.TLS, re uintptr, code TPCRE2_SPTR8, utf TBOOL, ucp TBOOL, depthptr uintptr) int32 { /* pcre2_study.c:953:1: */
 60293  	bp := tls.Alloc(6)
 60294  	defer tls.Free(6)
 60295  
 60296  	var c Tuint32_t
 60297  	var yield int32
 60298  	var table_limit int32
 60299  	// var buff [6]TPCRE2_UCHAR8 at bp, 6
 60300  
 60301  	var p uintptr
 60302  	var b TPCRE2_UCHAR8
 60303  	var e TPCRE2_UCHAR8
 60304  	var p1 TPCRE2_SPTR8
 60305  	var d int32
 60306  	var rc int32
 60307  	var classmap uintptr
 60308  	var xclassflags TPCRE2_UCHAR8
 60309  	var try_next TBOOL
 60310  	var tcode TPCRE2_SPTR8
 60311  	yield = SSB_DONE
 60312  	if utf != 0 {
 60313  		table_limit = 16
 60314  	} else {
 60315  		table_limit = 32
 60316  	}
 60317  
 60318  	*(*int32)(unsafe.Pointer(depthptr)) += 1
 60319  	if !(*(*int32)(unsafe.Pointer(depthptr)) > 1000) {
 60320  		goto __1
 60321  	}
 60322  	return SSB_TOODEEP
 60323  __1:
 60324  	;
 60325  
 60326  __2:
 60327  	try_next = DTRUE
 60328  	tcode = code + uintptr(1) + uintptr(DLINK_SIZE)
 60329  
 60330  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_SCBRA || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_CBRAPOS || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_SCBRAPOS) {
 60331  		goto __5
 60332  	}
 60333  	tcode += TPCRE2_SPTR8(DIMM2_SIZE)
 60334  __5:
 60335  	;
 60336  
 60337  __6:
 60338  	if !(try_next != 0) {
 60339  		goto __7
 60340  	} /* Loop for items in this branch */
 60341  	classmap = uintptr(0)
 60342  
 60343  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) {
 60344  	// If we reach something we don't understand, it means a new opcode has
 60345  	//       been created that hasn't been added to this function. Hopefully this
 60346  	//       problem will be discovered during testing.
 60347  
 60348  	default:
 60349  		goto __9
 60350  
 60351  	// Fail for a valid opcode that implies no starting bits.
 60352  
 60353  	case OP_ACCEPT:
 60354  		goto __10
 60355  	case OP_ASSERT_ACCEPT:
 60356  		goto __11
 60357  	case OP_ALLANY:
 60358  		goto __12
 60359  	case OP_ANY:
 60360  		goto __13
 60361  	case OP_ANYBYTE:
 60362  		goto __14
 60363  	case OP_CIRCM:
 60364  		goto __15
 60365  	case OP_CLOSE:
 60366  		goto __16
 60367  	case OP_COMMIT:
 60368  		goto __17
 60369  	case OP_COMMIT_ARG:
 60370  		goto __18
 60371  	case OP_COND:
 60372  		goto __19
 60373  	case OP_CREF:
 60374  		goto __20
 60375  	case OP_FALSE:
 60376  		goto __21
 60377  	case OP_TRUE:
 60378  		goto __22
 60379  	case OP_DNCREF:
 60380  		goto __23
 60381  	case OP_DNREF:
 60382  		goto __24
 60383  	case OP_DNREFI:
 60384  		goto __25
 60385  	case OP_DNRREF:
 60386  		goto __26
 60387  	case OP_DOLL:
 60388  		goto __27
 60389  	case OP_DOLLM:
 60390  		goto __28
 60391  	case OP_END:
 60392  		goto __29
 60393  	case OP_EOD:
 60394  		goto __30
 60395  	case OP_EODN:
 60396  		goto __31
 60397  	case OP_EXTUNI:
 60398  		goto __32
 60399  	case OP_FAIL:
 60400  		goto __33
 60401  	case OP_MARK:
 60402  		goto __34
 60403  	case OP_NOT:
 60404  		goto __35
 60405  	case OP_NOTEXACT:
 60406  		goto __36
 60407  	case OP_NOTEXACTI:
 60408  		goto __37
 60409  	case OP_NOTI:
 60410  		goto __38
 60411  	case OP_NOTMINPLUS:
 60412  		goto __39
 60413  	case OP_NOTMINPLUSI:
 60414  		goto __40
 60415  	case OP_NOTMINQUERY:
 60416  		goto __41
 60417  	case OP_NOTMINQUERYI:
 60418  		goto __42
 60419  	case OP_NOTMINSTAR:
 60420  		goto __43
 60421  	case OP_NOTMINSTARI:
 60422  		goto __44
 60423  	case OP_NOTMINUPTO:
 60424  		goto __45
 60425  	case OP_NOTMINUPTOI:
 60426  		goto __46
 60427  	case OP_NOTPLUS:
 60428  		goto __47
 60429  	case OP_NOTPLUSI:
 60430  		goto __48
 60431  	case OP_NOTPOSPLUS:
 60432  		goto __49
 60433  	case OP_NOTPOSPLUSI:
 60434  		goto __50
 60435  	case OP_NOTPOSQUERY:
 60436  		goto __51
 60437  	case OP_NOTPOSQUERYI:
 60438  		goto __52
 60439  	case OP_NOTPOSSTAR:
 60440  		goto __53
 60441  	case OP_NOTPOSSTARI:
 60442  		goto __54
 60443  	case OP_NOTPOSUPTO:
 60444  		goto __55
 60445  	case OP_NOTPOSUPTOI:
 60446  		goto __56
 60447  	case OP_NOTPROP:
 60448  		goto __57
 60449  	case OP_NOTQUERY:
 60450  		goto __58
 60451  	case OP_NOTQUERYI:
 60452  		goto __59
 60453  	case OP_NOTSTAR:
 60454  		goto __60
 60455  	case OP_NOTSTARI:
 60456  		goto __61
 60457  	case OP_NOTUPTO:
 60458  		goto __62
 60459  	case OP_NOTUPTOI:
 60460  		goto __63
 60461  	case OP_NOT_HSPACE:
 60462  		goto __64
 60463  	case OP_NOT_VSPACE:
 60464  		goto __65
 60465  	case OP_PRUNE:
 60466  		goto __66
 60467  	case OP_PRUNE_ARG:
 60468  		goto __67
 60469  	case OP_RECURSE:
 60470  		goto __68
 60471  	case OP_REF:
 60472  		goto __69
 60473  	case OP_REFI:
 60474  		goto __70
 60475  	case OP_REVERSE:
 60476  		goto __71
 60477  	case OP_RREF:
 60478  		goto __72
 60479  	case OP_SCOND:
 60480  		goto __73
 60481  	case OP_SET_SOM:
 60482  		goto __74
 60483  	case OP_SKIP:
 60484  		goto __75
 60485  	case OP_SKIP_ARG:
 60486  		goto __76
 60487  	case OP_SOD:
 60488  		goto __77
 60489  	case OP_SOM:
 60490  		goto __78
 60491  	case OP_THEN:
 60492  		goto __79
 60493  	case OP_THEN_ARG:
 60494  		goto __80
 60495  
 60496  	// OP_CIRC happens only at the start of an anchored branch (multiline ^
 60497  	//       uses OP_CIRCM). Skip over it.
 60498  
 60499  	case OP_CIRC:
 60500  		goto __81
 60501  
 60502  	// A "real" property test implies no starting bits, but the fake property
 60503  	//       PT_CLIST identifies a list of characters. These lists are short, as they
 60504  	//       are used for characters with more than one "other case", so there is no
 60505  	//       point in recognizing them for OP_NOTPROP.
 60506  
 60507  	case OP_PROP:
 60508  		goto __82
 60509  
 60510  	// We can ignore word boundary tests.
 60511  
 60512  	case OP_WORD_BOUNDARY:
 60513  		goto __83
 60514  	case OP_NOT_WORD_BOUNDARY:
 60515  		goto __84
 60516  
 60517  	// If we hit a bracket or a positive lookahead assertion, recurse to set
 60518  	//       bits from within the subpattern. If it can't find anything, we have to
 60519  	//       give up. If it finds some mandatory character(s), we are done for this
 60520  	//       branch. Otherwise, carry on scanning after the subpattern.
 60521  
 60522  	case OP_BRA:
 60523  		goto __85
 60524  	case OP_SBRA:
 60525  		goto __86
 60526  	case OP_CBRA:
 60527  		goto __87
 60528  	case OP_SCBRA:
 60529  		goto __88
 60530  	case OP_BRAPOS:
 60531  		goto __89
 60532  	case OP_SBRAPOS:
 60533  		goto __90
 60534  	case OP_CBRAPOS:
 60535  		goto __91
 60536  	case OP_SCBRAPOS:
 60537  		goto __92
 60538  	case OP_ONCE:
 60539  		goto __93
 60540  	case OP_SCRIPT_RUN:
 60541  		goto __94
 60542  	case OP_ASSERT:
 60543  		goto __95
 60544  	case OP_ASSERT_NA:
 60545  		goto __96
 60546  
 60547  	// If we hit ALT or KET, it means we haven't found anything mandatory in
 60548  	//       this branch, though we might have found something optional. For ALT, we
 60549  	//       continue with the next alternative, but we have to arrange that the final
 60550  	//       result from subpattern is SSB_CONTINUE rather than SSB_DONE. For KET,
 60551  	//       return SSB_CONTINUE: if this is the top level, that indicates failure,
 60552  	//       but after a nested subpattern, it causes scanning to continue.
 60553  
 60554  	case OP_ALT:
 60555  		goto __97
 60556  
 60557  	case OP_KET:
 60558  		goto __98
 60559  	case OP_KETRMAX:
 60560  		goto __99
 60561  	case OP_KETRMIN:
 60562  		goto __100
 60563  	case OP_KETRPOS:
 60564  		goto __101
 60565  
 60566  	// Skip over callout
 60567  
 60568  	case OP_CALLOUT:
 60569  		goto __102
 60570  
 60571  	case OP_CALLOUT_STR:
 60572  		goto __103
 60573  
 60574  	// Skip over lookbehind and negative lookahead assertions
 60575  
 60576  	case OP_ASSERT_NOT:
 60577  		goto __104
 60578  	case OP_ASSERTBACK:
 60579  		goto __105
 60580  	case OP_ASSERTBACK_NOT:
 60581  		goto __106
 60582  	case OP_ASSERTBACK_NA:
 60583  		goto __107
 60584  
 60585  	// BRAZERO does the bracket, but carries on.
 60586  
 60587  	case OP_BRAZERO:
 60588  		goto __108
 60589  	case OP_BRAMINZERO:
 60590  		goto __109
 60591  	case OP_BRAPOSZERO:
 60592  		goto __110
 60593  
 60594  	// SKIPZERO skips the bracket.
 60595  
 60596  	case OP_SKIPZERO:
 60597  		goto __111
 60598  
 60599  	// Single-char * or ? sets the bit and tries the next item
 60600  
 60601  	case OP_STAR:
 60602  		goto __112
 60603  	case OP_MINSTAR:
 60604  		goto __113
 60605  	case OP_POSSTAR:
 60606  		goto __114
 60607  	case OP_QUERY:
 60608  		goto __115
 60609  	case OP_MINQUERY:
 60610  		goto __116
 60611  	case OP_POSQUERY:
 60612  		goto __117
 60613  
 60614  	case OP_STARI:
 60615  		goto __118
 60616  	case OP_MINSTARI:
 60617  		goto __119
 60618  	case OP_POSSTARI:
 60619  		goto __120
 60620  	case OP_QUERYI:
 60621  		goto __121
 60622  	case OP_MINQUERYI:
 60623  		goto __122
 60624  	case OP_POSQUERYI:
 60625  		goto __123
 60626  
 60627  	// Single-char upto sets the bit and tries the next
 60628  
 60629  	case OP_UPTO:
 60630  		goto __124
 60631  	case OP_MINUPTO:
 60632  		goto __125
 60633  	case OP_POSUPTO:
 60634  		goto __126
 60635  
 60636  	case OP_UPTOI:
 60637  		goto __127
 60638  	case OP_MINUPTOI:
 60639  		goto __128
 60640  	case OP_POSUPTOI:
 60641  		goto __129
 60642  
 60643  	// At least one single char sets the bit and stops
 60644  
 60645  	case OP_EXACT:
 60646  		goto __130
 60647  	// Fall through
 60648  	case OP_CHAR:
 60649  		goto __131
 60650  	case OP_PLUS:
 60651  		goto __132
 60652  	case OP_MINPLUS:
 60653  		goto __133
 60654  	case OP_POSPLUS:
 60655  		goto __134
 60656  
 60657  	case OP_EXACTI:
 60658  		goto __135
 60659  	// Fall through
 60660  	case OP_CHARI:
 60661  		goto __136
 60662  	case OP_PLUSI:
 60663  		goto __137
 60664  	case OP_MINPLUSI:
 60665  		goto __138
 60666  	case OP_POSPLUSI:
 60667  		goto __139
 60668  
 60669  	// Special spacing and line-terminating items. These recognize specific
 60670  	//       lists of characters. The difference between VSPACE and ANYNL is that the
 60671  	//       latter can match the two-character CRLF sequence, but that is not
 60672  	//       relevant for finding the first character, so their code here is
 60673  	//       identical.
 60674  
 60675  	case OP_HSPACE:
 60676  		goto __140
 60677  
 60678  	case OP_ANYNL:
 60679  		goto __141
 60680  	case OP_VSPACE:
 60681  		goto __142
 60682  
 60683  	// Single character types set the bits and stop. Note that if PCRE2_UCP
 60684  	//       is set, we do not see these opcodes because \d etc are converted to
 60685  	//       properties. Therefore, these apply in the case when only characters less
 60686  	//       than 256 are recognized to match the types.
 60687  
 60688  	case OP_NOT_DIGIT:
 60689  		goto __143
 60690  
 60691  	case OP_DIGIT:
 60692  		goto __144
 60693  
 60694  	case OP_NOT_WHITESPACE:
 60695  		goto __145
 60696  
 60697  	case OP_WHITESPACE:
 60698  		goto __146
 60699  
 60700  	case OP_NOT_WORDCHAR:
 60701  		goto __147
 60702  
 60703  	case OP_WORDCHAR:
 60704  		goto __148
 60705  
 60706  	// One or more character type fudges the pointer and restarts, knowing
 60707  	//       it will hit a single character type and stop there.
 60708  
 60709  	case OP_TYPEPLUS:
 60710  		goto __149
 60711  	case OP_TYPEMINPLUS:
 60712  		goto __150
 60713  	case OP_TYPEPOSPLUS:
 60714  		goto __151
 60715  
 60716  	case OP_TYPEEXACT:
 60717  		goto __152
 60718  
 60719  	// Zero or more repeats of character types set the bits and then
 60720  	//       try again.
 60721  
 60722  	case OP_TYPEUPTO:
 60723  		goto __153
 60724  	case OP_TYPEMINUPTO:
 60725  		goto __154
 60726  	case OP_TYPEPOSUPTO:
 60727  		goto __155 // Fall through
 60728  
 60729  	case OP_TYPESTAR:
 60730  		goto __156
 60731  	case OP_TYPEMINSTAR:
 60732  		goto __157
 60733  	case OP_TYPEPOSSTAR:
 60734  		goto __158
 60735  	case OP_TYPEQUERY:
 60736  		goto __159
 60737  	case OP_TYPEMINQUERY:
 60738  		goto __160
 60739  	case OP_TYPEPOSQUERY:
 60740  		goto __161
 60741  
 60742  	// Extended class: if there are any property checks, or if this is a
 60743  	//       negative XCLASS without a map, give up. If there are no property checks,
 60744  	//       there must be wide characters on the XCLASS list, because otherwise an
 60745  	//       XCLASS would not have been created. This means that code points >= 255
 60746  	//       are potential starters. In the UTF-8 case we can scan them and set bits
 60747  	//       for the relevant leading bytes.
 60748  
 60749  	case OP_XCLASS:
 60750  		goto __162
 60751  
 60752  	// It seems that the fall through comment must be outside the #ifdef if
 60753  	//       it is to avoid the gcc compiler warning.
 60754  
 60755  	// Fall through
 60756  
 60757  	// Enter here for a negative non-XCLASS. In the 8-bit library, if we are
 60758  	//       in UTF mode, any byte with a value >= 0xc4 is a potentially valid starter
 60759  	//       because it starts a character with a value > 255. In 8-bit non-UTF mode,
 60760  	//       there is no difference between CLASS and NCLASS. In all other wide
 60761  	//       character modes, set the 0xFF bit to indicate code units >= 255.
 60762  
 60763  	case OP_NCLASS:
 60764  		goto __163
 60765  	// Fall through
 60766  
 60767  	// Enter here for a positive non-XCLASS. If we have fallen through from
 60768  	//       an XCLASS, classmap will already be set; just advance the code pointer.
 60769  	//       Otherwise, set up classmap for a a non-XCLASS and advance past it.
 60770  
 60771  	case OP_CLASS:
 60772  		goto __164
 60773  	}
 60774  	goto __8
 60775  
 60776  	// If we reach something we don't understand, it means a new opcode has
 60777  	//       been created that hasn't been added to this function. Hopefully this
 60778  	//       problem will be discovered during testing.
 60779  
 60780  __9:
 60781  	return SSB_UNKNOWN
 60782  
 60783  	// Fail for a valid opcode that implies no starting bits.
 60784  
 60785  __10:
 60786  __11:
 60787  __12:
 60788  __13:
 60789  __14:
 60790  __15:
 60791  __16:
 60792  __17:
 60793  __18:
 60794  __19:
 60795  __20:
 60796  __21:
 60797  __22:
 60798  __23:
 60799  __24:
 60800  __25:
 60801  __26:
 60802  __27:
 60803  __28:
 60804  __29:
 60805  __30:
 60806  __31:
 60807  __32:
 60808  __33:
 60809  __34:
 60810  __35:
 60811  __36:
 60812  __37:
 60813  __38:
 60814  __39:
 60815  __40:
 60816  __41:
 60817  __42:
 60818  __43:
 60819  __44:
 60820  __45:
 60821  __46:
 60822  __47:
 60823  __48:
 60824  __49:
 60825  __50:
 60826  __51:
 60827  __52:
 60828  __53:
 60829  __54:
 60830  __55:
 60831  __56:
 60832  __57:
 60833  __58:
 60834  __59:
 60835  __60:
 60836  __61:
 60837  __62:
 60838  __63:
 60839  __64:
 60840  __65:
 60841  __66:
 60842  __67:
 60843  __68:
 60844  __69:
 60845  __70:
 60846  __71:
 60847  __72:
 60848  __73:
 60849  __74:
 60850  __75:
 60851  __76:
 60852  __77:
 60853  __78:
 60854  __79:
 60855  __80:
 60856  	return SSB_FAIL
 60857  
 60858  	// OP_CIRC happens only at the start of an anchored branch (multiline ^
 60859  	//       uses OP_CIRCM). Skip over it.
 60860  
 60861  __81:
 60862  	tcode += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[OP_CIRC])
 60863  	goto __8
 60864  
 60865  	// A "real" property test implies no starting bits, but the fake property
 60866  	//       PT_CLIST identifies a list of characters. These lists are short, as they
 60867  	//       are used for characters with more than one "other case", so there is no
 60868  	//       point in recognizing them for OP_NOTPROP.
 60869  
 60870  __82:
 60871  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1))) != DPT_CLIST) {
 60872  		goto __165
 60873  	}
 60874  	return SSB_FAIL
 60875  __165:
 60876  	;
 60877  
 60878  	p = uintptr(unsafe.Pointer(&X_pcre2_ucd_caseless_sets_8)) + uintptr(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))*4
 60879  __166:
 60880  	if !(libc.AssignUint32(&c, *(*Tuint32_t)(unsafe.Pointer(libc.PostIncUintptr(&p, 4)))) < DNOTACHAR) {
 60881  		goto __167
 60882  	}
 60883  
 60884  	if !(utf != 0) {
 60885  		goto __168
 60886  	}
 60887  
 60888  	X_pcre2_ord2utf_8(tls, c, bp)
 60889  	c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp)))
 60890  __168:
 60891  	;
 60892  	if !(c > Tuint32_t(0xff)) {
 60893  		goto __169
 60894  	}
 60895  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 31)) |= uint8(uint32(1) << (0xff & 7))
 60896  	goto __170
 60897  __169:
 60898  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c/Tuint32_t(8)))) |= Tuint8_t(uint32(1) << (c & Tuint32_t(7)))
 60899  __170:
 60900  	;
 60901  	goto __166
 60902  __167:
 60903  	;
 60904  
 60905  	try_next = DFALSE
 60906  	goto __8
 60907  
 60908  	// We can ignore word boundary tests.
 60909  
 60910  __83:
 60911  __84:
 60912  	tcode++
 60913  	goto __8
 60914  
 60915  	// If we hit a bracket or a positive lookahead assertion, recurse to set
 60916  	//       bits from within the subpattern. If it can't find anything, we have to
 60917  	//       give up. If it finds some mandatory character(s), we are done for this
 60918  	//       branch. Otherwise, carry on scanning after the subpattern.
 60919  
 60920  __85:
 60921  __86:
 60922  __87:
 60923  __88:
 60924  __89:
 60925  __90:
 60926  __91:
 60927  __92:
 60928  __93:
 60929  __94:
 60930  __95:
 60931  __96:
 60932  	rc = set_start_bits(tls, re, tcode, utf, ucp, depthptr)
 60933  	if !(rc == SSB_DONE) {
 60934  		goto __171
 60935  	}
 60936  
 60937  	try_next = DFALSE
 60938  	goto __172
 60939  __171:
 60940  	if !(rc == SSB_CONTINUE) {
 60941  		goto __173
 60942  	}
 60943  
 60944  __175:
 60945  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 60946  	goto __176
 60947  __176:
 60948  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT {
 60949  		goto __175
 60950  	}
 60951  	goto __177
 60952  __177:
 60953  	;
 60954  	tcode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 60955  	goto __174
 60956  __173:
 60957  	return rc
 60958  __174:
 60959  	;
 60960  __172:
 60961  	; // FAIL, UNKNOWN, or TOODEEP
 60962  	goto __8
 60963  
 60964  	// If we hit ALT or KET, it means we haven't found anything mandatory in
 60965  	//       this branch, though we might have found something optional. For ALT, we
 60966  	//       continue with the next alternative, but we have to arrange that the final
 60967  	//       result from subpattern is SSB_CONTINUE rather than SSB_DONE. For KET,
 60968  	//       return SSB_CONTINUE: if this is the top level, that indicates failure,
 60969  	//       but after a nested subpattern, it causes scanning to continue.
 60970  
 60971  __97:
 60972  	yield = SSB_CONTINUE
 60973  	try_next = DFALSE
 60974  	goto __8
 60975  
 60976  __98:
 60977  __99:
 60978  __100:
 60979  __101:
 60980  	return SSB_CONTINUE
 60981  
 60982  	// Skip over callout
 60983  
 60984  __102:
 60985  	tcode += TPCRE2_SPTR8(X_pcre2_OP_lengths_8[OP_CALLOUT])
 60986  	goto __8
 60987  
 60988  __103:
 60989  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 5)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 6)))))
 60990  	goto __8
 60991  
 60992  	// Skip over lookbehind and negative lookahead assertions
 60993  
 60994  __104:
 60995  __105:
 60996  __106:
 60997  __107:
 60998  __178:
 60999  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 61000  	goto __179
 61001  __179:
 61002  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT {
 61003  		goto __178
 61004  	}
 61005  	goto __180
 61006  __180:
 61007  	;
 61008  	tcode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 61009  	goto __8
 61010  
 61011  	// BRAZERO does the bracket, but carries on.
 61012  
 61013  __108:
 61014  __109:
 61015  __110:
 61016  	rc = set_start_bits(tls, re, libc.PreIncUintptr(&tcode, 1), utf, ucp, depthptr)
 61017  	if !(rc == SSB_FAIL || rc == SSB_UNKNOWN || rc == SSB_TOODEEP) {
 61018  		goto __181
 61019  	}
 61020  	return rc
 61021  __181:
 61022  	;
 61023  __182:
 61024  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 61025  	goto __183
 61026  __183:
 61027  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT {
 61028  		goto __182
 61029  	}
 61030  	goto __184
 61031  __184:
 61032  	;
 61033  	tcode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 61034  	goto __8
 61035  
 61036  	// SKIPZERO skips the bracket.
 61037  
 61038  __111:
 61039  	tcode++
 61040  __185:
 61041  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 61042  	goto __186
 61043  __186:
 61044  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_ALT {
 61045  		goto __185
 61046  	}
 61047  	goto __187
 61048  __187:
 61049  	;
 61050  	tcode += TPCRE2_SPTR8(1 + DLINK_SIZE)
 61051  	goto __8
 61052  
 61053  	// Single-char * or ? sets the bit and tries the next item
 61054  
 61055  __112:
 61056  __113:
 61057  __114:
 61058  __115:
 61059  __116:
 61060  __117:
 61061  	tcode = set_table_bit(tls, re, tcode+uintptr(1), DFALSE, utf, ucp)
 61062  	goto __8
 61063  
 61064  __118:
 61065  __119:
 61066  __120:
 61067  __121:
 61068  __122:
 61069  __123:
 61070  	tcode = set_table_bit(tls, re, tcode+uintptr(1), DTRUE, utf, ucp)
 61071  	goto __8
 61072  
 61073  	// Single-char upto sets the bit and tries the next
 61074  
 61075  __124:
 61076  __125:
 61077  __126:
 61078  	tcode = set_table_bit(tls, re, tcode+uintptr(1)+uintptr(DIMM2_SIZE), DFALSE, utf, ucp)
 61079  	goto __8
 61080  
 61081  __127:
 61082  __128:
 61083  __129:
 61084  	tcode = set_table_bit(tls, re, tcode+uintptr(1)+uintptr(DIMM2_SIZE), DTRUE, utf, ucp)
 61085  	goto __8
 61086  
 61087  	// At least one single char sets the bit and stops
 61088  
 61089  __130:
 61090  	tcode += TPCRE2_SPTR8(DIMM2_SIZE)
 61091  	// Fall through
 61092  __131:
 61093  __132:
 61094  __133:
 61095  __134:
 61096  	set_table_bit(tls, re, tcode+uintptr(1), DFALSE, utf, ucp)
 61097  	try_next = DFALSE
 61098  	goto __8
 61099  
 61100  __135:
 61101  	tcode += TPCRE2_SPTR8(DIMM2_SIZE)
 61102  	// Fall through
 61103  __136:
 61104  __137:
 61105  __138:
 61106  __139:
 61107  	set_table_bit(tls, re, tcode+uintptr(1), DTRUE, utf, ucp)
 61108  	try_next = DFALSE
 61109  	goto __8
 61110  
 61111  	// Special spacing and line-terminating items. These recognize specific
 61112  	//       lists of characters. The difference between VSPACE and ANYNL is that the
 61113  	//       latter can match the two-character CRLF sequence, but that is not
 61114  	//       relevant for finding the first character, so their code here is
 61115  	//       identical.
 61116  
 61117  __140:
 61118  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\011' & 7))
 61119  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 4)) |= uint8(uint32(1) << ('\040' & 7))
 61120  
 61121  	// For the 16-bit and 32-bit libraries (which can never be EBCDIC), set
 61122  	//       the bits for 0xA0 and for code units >= 255, independently of UTF.
 61123  
 61124  	// For the 8-bit library in UTF-8 mode, set the bits for the first code
 61125  	//       units of horizontal space characters.
 61126  
 61127  	if !(utf != 0) {
 61128  		goto __188
 61129  	}
 61130  
 61131  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+00A0
 61132  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE1 & 7)) // For U+1680, U+180E
 61133  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2000 - U+200A, U+202F, U+205F
 61134  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE3 & 7)) // For U+3000
 61135  	goto __189
 61136  __188:
 61137  	/* For the 8-bit library not in UTF-8 mode, set the bit for 0xA0, unless
 61138  	   the code is EBCDIC. */
 61139  
 61140  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 20)) |= uint8(uint32(1) << (0xA0 & 7))
 61141  __189:
 61142  	;
 61143  
 61144  	try_next = DFALSE
 61145  	goto __8
 61146  
 61147  __141:
 61148  __142:
 61149  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\012' & 7))
 61150  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\013' & 7))
 61151  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\014' & 7))
 61152  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\015' & 7))
 61153  
 61154  	// For the 16-bit and 32-bit libraries (which can never be EBCDIC), set
 61155  	//       the bits for NEL and for code units >= 255, independently of UTF.
 61156  
 61157  	// For the 8-bit library in UTF-8 mode, set the bits for the first code
 61158  	//       units of vertical space characters.
 61159  
 61160  	if !(utf != 0) {
 61161  		goto __190
 61162  	}
 61163  
 61164  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+0085 (NEL)
 61165  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2028, U+2029
 61166  	goto __191
 61167  __190:
 61168  	/* For the 8-bit library not in UTF-8 mode, set the bit for NEL. */
 61169  
 61170  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 16)) |= uint8(uint32(1) << (int32(uint8('\x85')) & 7))
 61171  __191:
 61172  	;
 61173  
 61174  	try_next = DFALSE
 61175  	goto __8
 61176  
 61177  	// Single character types set the bits and stop. Note that if PCRE2_UCP
 61178  	//       is set, we do not see these opcodes because \d etc are converted to
 61179  	//       properties. Therefore, these apply in the case when only characters less
 61180  	//       than 256 are recognized to match the types.
 61181  
 61182  __143:
 61183  	set_nottype_bits(tls, re, Dcbit_digit, uint32(table_limit))
 61184  	try_next = DFALSE
 61185  	goto __8
 61186  
 61187  __144:
 61188  	set_type_bits(tls, re, Dcbit_digit, uint32(table_limit))
 61189  	try_next = DFALSE
 61190  	goto __8
 61191  
 61192  __145:
 61193  	set_nottype_bits(tls, re, Dcbit_space, uint32(table_limit))
 61194  	try_next = DFALSE
 61195  	goto __8
 61196  
 61197  __146:
 61198  	set_type_bits(tls, re, Dcbit_space, uint32(table_limit))
 61199  	try_next = DFALSE
 61200  	goto __8
 61201  
 61202  __147:
 61203  	set_nottype_bits(tls, re, Dcbit_word, uint32(table_limit))
 61204  	try_next = DFALSE
 61205  	goto __8
 61206  
 61207  __148:
 61208  	set_type_bits(tls, re, Dcbit_word, uint32(table_limit))
 61209  	try_next = DFALSE
 61210  	goto __8
 61211  
 61212  	// One or more character type fudges the pointer and restarts, knowing
 61213  	//       it will hit a single character type and stop there.
 61214  
 61215  __149:
 61216  __150:
 61217  __151:
 61218  	tcode++
 61219  	goto __8
 61220  
 61221  __152:
 61222  	tcode += TPCRE2_SPTR8(1 + DIMM2_SIZE)
 61223  	goto __8
 61224  
 61225  	// Zero or more repeats of character types set the bits and then
 61226  	//       try again.
 61227  
 61228  __153:
 61229  __154:
 61230  __155:
 61231  	tcode += TPCRE2_SPTR8(DIMM2_SIZE) // Fall through
 61232  
 61233  __156:
 61234  __157:
 61235  __158:
 61236  __159:
 61237  __160:
 61238  __161:
 61239  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1))) {
 61240  	default:
 61241  		goto __193
 61242  	case OP_ANY:
 61243  		goto __194
 61244  	case OP_ALLANY:
 61245  		goto __195
 61246  
 61247  	case OP_HSPACE:
 61248  		goto __196
 61249  
 61250  	case OP_ANYNL:
 61251  		goto __197
 61252  	case OP_VSPACE:
 61253  		goto __198
 61254  
 61255  	case OP_NOT_DIGIT:
 61256  		goto __199
 61257  
 61258  	case OP_DIGIT:
 61259  		goto __200
 61260  
 61261  	case OP_NOT_WHITESPACE:
 61262  		goto __201
 61263  
 61264  	case OP_WHITESPACE:
 61265  		goto __202
 61266  
 61267  	case OP_NOT_WORDCHAR:
 61268  		goto __203
 61269  
 61270  	case OP_WORDCHAR:
 61271  		goto __204
 61272  	}
 61273  	goto __192
 61274  
 61275  __193:
 61276  __194:
 61277  __195:
 61278  	return SSB_FAIL
 61279  
 61280  __196:
 61281  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\011' & 7))
 61282  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 4)) |= uint8(uint32(1) << ('\040' & 7))
 61283  
 61284  	// For the 16-bit and 32-bit libraries (which can never be EBCDIC), set
 61285  	//         the bits for 0xA0 and for code units >= 255, independently of UTF.
 61286  
 61287  	// For the 8-bit library in UTF-8 mode, set the bits for the first code
 61288  	//         units of horizontal space characters.
 61289  
 61290  	if !(utf != 0) {
 61291  		goto __205
 61292  	}
 61293  
 61294  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+00A0
 61295  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE1 & 7)) // For U+1680, U+180E
 61296  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2000 - U+200A, U+202F, U+205F
 61297  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE3 & 7)) // For U+3000
 61298  	goto __206
 61299  __205:
 61300  	/* For the 8-bit library not in UTF-8 mode, set the bit for 0xA0, unless
 61301  	   the code is EBCDIC. */
 61302  
 61303  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 20)) |= uint8(uint32(1) << (0xA0 & 7))
 61304  __206:
 61305  	;
 61306  	goto __192
 61307  
 61308  __197:
 61309  __198:
 61310  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\012' & 7))
 61311  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\013' & 7))
 61312  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\014' & 7))
 61313  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 1)) |= uint8(uint32(1) << ('\015' & 7))
 61314  
 61315  	// For the 16-bit and 32-bit libraries (which can never be EBCDIC), set
 61316  	//         the bits for NEL and for code units >= 255, independently of UTF.
 61317  
 61318  	// For the 8-bit library in UTF-8 mode, set the bits for the first code
 61319  	//         units of vertical space characters.
 61320  
 61321  	if !(utf != 0) {
 61322  		goto __207
 61323  	}
 61324  
 61325  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= uint8(uint32(1) << (0xC2 & 7)) // For U+0085 (NEL)
 61326  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 28)) |= uint8(uint32(1) << (0xE2 & 7)) // For U+2028, U+2029
 61327  	goto __208
 61328  __207:
 61329  	/* For the 8-bit library not in UTF-8 mode, set the bit for NEL. */
 61330  
 61331  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 16)) |= uint8(uint32(1) << (int32(uint8('\x85')) & 7))
 61332  __208:
 61333  	;
 61334  	goto __192
 61335  
 61336  __199:
 61337  	set_nottype_bits(tls, re, Dcbit_digit, uint32(table_limit))
 61338  	goto __192
 61339  
 61340  __200:
 61341  	set_type_bits(tls, re, Dcbit_digit, uint32(table_limit))
 61342  	goto __192
 61343  
 61344  __201:
 61345  	set_nottype_bits(tls, re, Dcbit_space, uint32(table_limit))
 61346  	goto __192
 61347  
 61348  __202:
 61349  	set_type_bits(tls, re, Dcbit_space, uint32(table_limit))
 61350  	goto __192
 61351  
 61352  __203:
 61353  	set_nottype_bits(tls, re, Dcbit_word, uint32(table_limit))
 61354  	goto __192
 61355  
 61356  __204:
 61357  	set_type_bits(tls, re, Dcbit_word, uint32(table_limit))
 61358  	goto __192
 61359  __192:
 61360  	;
 61361  
 61362  	tcode += uintptr(2)
 61363  	goto __8
 61364  
 61365  	// Extended class: if there are any property checks, or if this is a
 61366  	//       negative XCLASS without a map, give up. If there are no property checks,
 61367  	//       there must be wide characters on the XCLASS list, because otherwise an
 61368  	//       XCLASS would not have been created. This means that code points >= 255
 61369  	//       are potential starters. In the UTF-8 case we can scan them and set bits
 61370  	//       for the relevant leading bytes.
 61371  
 61372  __162:
 61373  	xclassflags = *(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 3))
 61374  	if !(int32(xclassflags)&DXCL_HASPROP != 0 || int32(xclassflags)&(DXCL_MAP|DXCL_NOT) == DXCL_NOT) {
 61375  		goto __209
 61376  	}
 61377  	return SSB_FAIL
 61378  __209:
 61379  	;
 61380  
 61381  	// We have a positive XCLASS or a negative one without a map. Set up the
 61382  	//       map pointer if there is one, and fall through.
 61383  
 61384  	if int32(xclassflags)&DXCL_MAP == 0 {
 61385  		classmap = uintptr(0)
 61386  	} else {
 61387  		classmap = tcode + uintptr(1) + uintptr(DLINK_SIZE) + uintptr(1)
 61388  	}
 61389  
 61390  	// In UTF-8 mode, scan the character list and set bits for leading bytes,
 61391  	//       then jump to handle the map.
 61392  
 61393  	if !(utf != 0 && int32(xclassflags)&DXCL_NOT == 0) {
 61394  		goto __210
 61395  	}
 61396  
 61397  	p1 = tcode + uintptr(1) + uintptr(DLINK_SIZE) + uintptr(1) + uintptr(func() int32 {
 61398  		if classmap == uintptr(0) {
 61399  			return 0
 61400  		}
 61401  		return 32
 61402  	}())
 61403  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 61404  
 61405  __211:
 61406  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1)))) {
 61407  	case DXCL_SINGLE:
 61408  		goto __215
 61409  
 61410  	case DXCL_RANGE:
 61411  		goto __216
 61412  
 61413  	case DXCL_END:
 61414  		goto __217
 61415  
 61416  	default:
 61417  		goto __218
 61418  	}
 61419  	goto __214
 61420  
 61421  __215:
 61422  	b = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1)))
 61423  __219:
 61424  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p1)))&0xc0 == 0x80) {
 61425  		goto __220
 61426  	}
 61427  	p1++
 61428  	goto __219
 61429  __220:
 61430  	;
 61431  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(b)/8))) |= Tuint8_t(uint32(1) << (int32(b) & 7))
 61432  	goto __214
 61433  
 61434  __216:
 61435  	b = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1)))
 61436  __221:
 61437  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p1)))&0xc0 == 0x80) {
 61438  		goto __222
 61439  	}
 61440  	p1++
 61441  	goto __221
 61442  __222:
 61443  	;
 61444  	e = *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&p1, 1)))
 61445  __223:
 61446  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p1)))&0xc0 == 0x80) {
 61447  		goto __224
 61448  	}
 61449  	p1++
 61450  	goto __223
 61451  __224:
 61452  	;
 61453  __225:
 61454  	if !(int32(b) <= int32(e)) {
 61455  		goto __227
 61456  	}
 61457  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(int32(b)/8))) |= Tuint8_t(uint32(1) << (int32(b) & 7))
 61458  	goto __226
 61459  __226:
 61460  	b++
 61461  	goto __225
 61462  	goto __227
 61463  __227:
 61464  	;
 61465  	goto __214
 61466  
 61467  __217:
 61468  	goto HANDLE_CLASSMAP
 61469  
 61470  __218:
 61471  	return SSB_UNKNOWN // Internal error, should not occur
 61472  __214:
 61473  	;
 61474  	goto __212
 61475  __212:
 61476  	goto __211
 61477  	goto __213
 61478  __213:
 61479  	;
 61480  __210:
 61481  	;
 61482  
 61483  	// It seems that the fall through comment must be outside the #ifdef if
 61484  	//       it is to avoid the gcc compiler warning.
 61485  
 61486  	// Fall through
 61487  
 61488  	// Enter here for a negative non-XCLASS. In the 8-bit library, if we are
 61489  	//       in UTF mode, any byte with a value >= 0xc4 is a potentially valid starter
 61490  	//       because it starts a character with a value > 255. In 8-bit non-UTF mode,
 61491  	//       there is no difference between CLASS and NCLASS. In all other wide
 61492  	//       character modes, set the 0xFF bit to indicate code units >= 255.
 61493  
 61494  __163:
 61495  	if !(utf != 0) {
 61496  		goto __228
 61497  	}
 61498  
 61499  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + 24)) |= Tuint8_t(0xf0) // Bits for 0xc4 - 0xc8
 61500  	libc.Xmemset(tls, re+40+uintptr(25), 0xff, uint64(7))        // Bits for 0xc9 - 0xff
 61501  __228:
 61502  	;
 61503  	// Fall through
 61504  
 61505  	// Enter here for a positive non-XCLASS. If we have fallen through from
 61506  	//       an XCLASS, classmap will already be set; just advance the code pointer.
 61507  	//       Otherwise, set up classmap for a a non-XCLASS and advance past it.
 61508  
 61509  __164:
 61510  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) == OP_XCLASS) {
 61511  		goto __229
 61512  	}
 61513  	tcode += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))))
 61514  	goto __230
 61515  __229:
 61516  
 61517  	classmap = libc.PreIncUintptr(&tcode, 1)
 61518  	tcode += TPCRE2_SPTR8(uint64(32) / uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 61519  __230:
 61520  	;
 61521  
 61522  	// When wide characters are supported, classmap may be NULL. In UTF-8
 61523  	//       (sic) mode, the bits in a class bit map correspond to character values,
 61524  	//       not to byte values. However, the bit map we are constructing is for byte
 61525  	//       values. So we have to do a conversion for characters whose code point is
 61526  	//       greater than 127. In fact, there are only two possible starting bytes for
 61527  	//       characters in the range 128 - 255.
 61528  
 61529  HANDLE_CLASSMAP:
 61530  	if !(classmap != uintptr(0)) {
 61531  		goto __231
 61532  	}
 61533  
 61534  	if !(utf != 0) {
 61535  		goto __232
 61536  	}
 61537  
 61538  	c = Tuint32_t(0)
 61539  __234:
 61540  	if !(c < Tuint32_t(16)) {
 61541  		goto __236
 61542  	}
 61543  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(classmap + uintptr(c)))))
 61544  	goto __235
 61545  __235:
 61546  	c++
 61547  	goto __234
 61548  	goto __236
 61549  __236:
 61550  	;
 61551  	c = Tuint32_t(128)
 61552  __237:
 61553  	if !(c < Tuint32_t(256)) {
 61554  		goto __239
 61555  	}
 61556  
 61557  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer(classmap + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0)) {
 61558  		goto __240
 61559  	}
 61560  
 61561  	d = int32(c>>6 | Tuint32_t(0xc0))                                                      // Set bit for this starter
 61562  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(d/8))) |= Tuint8_t(uint32(1) << (d & 7)) // and then skip on to the
 61563  	c = c&Tuint32_t(0xc0) + Tuint32_t(0x40) - Tuint32_t(1)                                 // next relevant character.
 61564  __240:
 61565  	;
 61566  	goto __238
 61567  __238:
 61568  	c++
 61569  	goto __237
 61570  	goto __239
 61571  __239:
 61572  	;
 61573  	goto __233
 61574  __232:
 61575  	/* In all modes except UTF-8, the two bit maps are compatible. */
 61576  
 61577  	c = Tuint32_t(0)
 61578  __241:
 61579  	if !(c < Tuint32_t(32)) {
 61580  		goto __243
 61581  	}
 61582  	*(*Tuint8_t)(unsafe.Pointer(re + 40 + uintptr(c))) |= Tuint8_t(int32(*(*Tuint8_t)(unsafe.Pointer(classmap + uintptr(c)))))
 61583  	goto __242
 61584  __242:
 61585  	c++
 61586  	goto __241
 61587  	goto __243
 61588  __243:
 61589  	;
 61590  __233:
 61591  	;
 61592  __231:
 61593  	;
 61594  
 61595  	// Act on what follows the class. For a zero minimum repeat, continue;
 61596  	//       otherwise stop processing.
 61597  
 61598  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode))) {
 61599  	case OP_CRSTAR:
 61600  		goto __245
 61601  	case OP_CRMINSTAR:
 61602  		goto __246
 61603  	case OP_CRQUERY:
 61604  		goto __247
 61605  	case OP_CRMINQUERY:
 61606  		goto __248
 61607  	case OP_CRPOSSTAR:
 61608  		goto __249
 61609  	case OP_CRPOSQUERY:
 61610  		goto __250
 61611  
 61612  	case OP_CRRANGE:
 61613  		goto __251
 61614  	case OP_CRMINRANGE:
 61615  		goto __252
 61616  	case OP_CRPOSRANGE:
 61617  		goto __253
 61618  
 61619  	default:
 61620  		goto __254
 61621  	}
 61622  	goto __244
 61623  
 61624  __245:
 61625  __246:
 61626  __247:
 61627  __248:
 61628  __249:
 61629  __250:
 61630  	tcode++
 61631  	goto __244
 61632  
 61633  __251:
 61634  __252:
 61635  __253:
 61636  	if !(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 1)))<<8|int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(tcode + 2)))) == uint32(0)) {
 61637  		goto __255
 61638  	}
 61639  	tcode += TPCRE2_SPTR8(1 + 2*DIMM2_SIZE)
 61640  	goto __256
 61641  __255:
 61642  	try_next = DFALSE
 61643  __256:
 61644  	;
 61645  	goto __244
 61646  
 61647  __254:
 61648  	try_next = DFALSE
 61649  	goto __244
 61650  __244:
 61651  	;
 61652  	goto __8 // End of class handling case
 61653  __8:
 61654  	; // End of switch for opcodes
 61655  	goto __6
 61656  __7:
 61657  	; // End of try_next loop
 61658  
 61659  	code += TPCRE2_SPTR8(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 1)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code + 2))))) // Advance to next branch
 61660  	goto __3
 61661  __3:
 61662  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(code))) == OP_ALT {
 61663  		goto __2
 61664  	}
 61665  	goto __4
 61666  __4:
 61667  	;
 61668  
 61669  	return yield
 61670  }
 61671  
 61672  // ************************************************
 61673  //
 61674  //          Study a compiled expression           *
 61675  //
 61676  
 61677  // This function is handed a compiled expression that it must study to produce
 61678  // information that will speed up the matching.
 61679  //
 61680  // Argument:
 61681  //   re       points to the compiled expression
 61682  //
 61683  // Returns:   0 normally; non-zero should never normally occur
 61684  //            1 unknown opcode in set_start_bits
 61685  //            2 missing capturing bracket
 61686  //            3 unknown opcode in find_minlength
 61687  
 61688  func X_pcre2_study_8(tls *libc.TLS, re uintptr) int32 { /* pcre2_study.c:1672:1: */
 61689  	bp := tls.Alloc(524)
 61690  	defer tls.Free(524)
 61691  
 61692  	// var count int32 at bp+520, 4
 61693  
 61694  	var code uintptr
 61695  	var utf TBOOL
 61696  	var ucp TBOOL
 61697  	var d int32
 61698  	var c int32
 61699  	var y Tuint8_t
 61700  	var x Tuint8_t
 61701  	var i int32
 61702  	var a int32
 61703  	var b int32
 61704  	var p uintptr
 61705  	var flags Tuint32_t
 61706  	// var depth int32 at bp, 4
 61707  
 61708  	var rc int32
 61709  	var min int32
 61710  	// var backref_cache [129]int32 at bp+4, 516
 61711  	*(*int32)(unsafe.Pointer(bp + 520 /* count */)) = 0
 61712  	utf = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 61713  	ucp = libc.Bool32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Foverall_options&DPCRE2_UCP != Tuint32_t(0))
 61714  
 61715  	// Find start of compiled code
 61716  
 61717  	code = re + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{}))) + uintptr(int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_entry_size)*int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fname_count))
 61718  
 61719  	// For a pattern that has a first code unit, or a multiline pattern that
 61720  	// matches only at "line start", there is no point in seeking a list of starting
 61721  	// code units.
 61722  
 61723  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_FIRSTSET|DPCRE2_STARTLINE) == Tuint32_t(0)) {
 61724  		goto __1
 61725  	}
 61726  	*(*int32)(unsafe.Pointer(bp /* depth */)) = 0
 61727  	rc = set_start_bits(tls, re, code, utf, ucp, bp)
 61728  	if !(rc == SSB_UNKNOWN) {
 61729  		goto __2
 61730  	}
 61731  	return 1
 61732  __2:
 61733  	;
 61734  
 61735  	// If a list of starting code units was set up, scan the list to see if only
 61736  	//   one or two were listed. Having only one listed is rare because usually a
 61737  	//   single starting code unit will have been recognized and PCRE2_FIRSTSET set.
 61738  	//   If two are listed, see if they are caseless versions of the same character;
 61739  	//   if so we can replace the list with a caseless first code unit. This gives
 61740  	//   better performance and is plausibly worth doing for patterns such as [Ww]ord
 61741  	//   or (word|WORD).
 61742  
 61743  	if !(rc == SSB_DONE) {
 61744  		goto __3
 61745  	}
 61746  	a = -1
 61747  	b = -1
 61748  	p = re + 40 /* &.start_bitmap */
 61749  	flags = Tuint32_t(DPCRE2_FIRSTMAPSET)
 61750  
 61751  	i = 0
 61752  __4:
 61753  	if !(i < 256) {
 61754  		goto __6
 61755  	}
 61756  
 61757  	x = *(*Tuint8_t)(unsafe.Pointer(p))
 61758  	if !(int32(x) != 0) {
 61759  		goto __7
 61760  	}
 61761  
 61762  	y = Tuint8_t(int32(x) & (^int32(x) + 1)) // Least significant bit
 61763  	if !(int32(y) != int32(x)) {
 61764  		goto __8
 61765  	}
 61766  	goto DONE
 61767  __8:
 61768  	; // More than one bit set
 61769  
 61770  	// In the 16-bit and 32-bit libraries, the bit for 0xff means "0xff and
 61771  	//         all wide characters", so we cannot use it here.
 61772  
 61773  	// Compute the character value
 61774  
 61775  	c = i
 61776  	switch int32(x) {
 61777  	case 1:
 61778  		goto __10
 61779  	case 2:
 61780  		goto __11
 61781  	case 4:
 61782  		goto __12
 61783  	case 8:
 61784  		goto __13
 61785  	case 16:
 61786  		goto __14
 61787  	case 32:
 61788  		goto __15
 61789  	case 64:
 61790  		goto __16
 61791  	case 128:
 61792  		goto __17
 61793  	}
 61794  	goto __9
 61795  
 61796  __10:
 61797  	goto __9
 61798  __11:
 61799  	c = c + 1
 61800  	goto __9
 61801  __12:
 61802  	c = c + 2
 61803  	goto __9
 61804  __13:
 61805  	c = c + 3
 61806  	goto __9
 61807  __14:
 61808  	c = c + 4
 61809  	goto __9
 61810  __15:
 61811  	c = c + 5
 61812  	goto __9
 61813  __16:
 61814  	c = c + 6
 61815  	goto __9
 61816  __17:
 61817  	c = c + 7
 61818  	goto __9
 61819  __9:
 61820  	;
 61821  
 61822  	// c contains the code unit value, in the range 0-255. In 8-bit UTF
 61823  	//         mode, only values < 128 can be used. In all the other cases, c is a
 61824  	//         character value.
 61825  
 61826  	if !(utf != 0 && c > 127) {
 61827  		goto __18
 61828  	}
 61829  	goto DONE
 61830  __18:
 61831  	;
 61832  	if !(a < 0) {
 61833  		goto __19
 61834  	}
 61835  	a = c
 61836  	goto __20
 61837  __19:
 61838  	if !(b < 0) {
 61839  		goto __21
 61840  	} /* Second one found */
 61841  
 61842  	d = int32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftables + uintptr(Dfcc_offset) + uintptr(uint32(c)))))
 61843  
 61844  	if !(utf != 0 || ucp != 0) {
 61845  		goto __23
 61846  	}
 61847  
 61848  	if !(int32((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[c/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+c%DUCD_BLOCK_SIZE])*12)).Fcaseset) != 0) {
 61849  		goto __24
 61850  	}
 61851  	goto DONE
 61852  __24:
 61853  	; // Multiple case set
 61854  	if !(c > 127) {
 61855  		goto __25
 61856  	}
 61857  	d = int32(Tuint32_t(c + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[c/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+c%DUCD_BLOCK_SIZE])*12)).Fother_case))
 61858  __25:
 61859  	;
 61860  __23:
 61861  	;
 61862  
 61863  	if !(d != a) {
 61864  		goto __26
 61865  	}
 61866  	goto DONE
 61867  __26:
 61868  	;     // Not the other case of a
 61869  	b = c // Save second in b
 61870  	goto __22
 61871  __21:
 61872  	goto DONE
 61873  __22:
 61874  	;
 61875  __20:
 61876  	; // More than two characters found
 61877  __7:
 61878  	;
 61879  	goto __5
 61880  __5:
 61881  	p++
 61882  	i = i + 8
 61883  	goto __4
 61884  	goto __6
 61885  __6:
 61886  	;
 61887  
 61888  	// Replace the start code unit bits with a first code unit, but only if it
 61889  	//     is not the same as a required later code unit. This is because a search for
 61890  	//     a required code unit starts after an explicit first code unit, but at a
 61891  	//     code unit found from the bitmap. Patterns such as /a*a/ don't work
 61892  	//     if both the start unit and required unit are the same.
 61893  
 61894  	if !(a >= 0 && ((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_LASTSET) == Tuint32_t(0) || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit != Tuint32_t(a) && (b < 0 || (*Tpcre2_real_code_8)(unsafe.Pointer(re)).Flast_codeunit != Tuint32_t(b)))) {
 61895  		goto __27
 61896  	}
 61897  
 61898  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ffirst_codeunit = Tuint32_t(a)
 61899  	flags = Tuint32_t(DPCRE2_FIRSTSET)
 61900  	if !(b >= 0) {
 61901  		goto __28
 61902  	}
 61903  	flags = flags | Tuint32_t(DPCRE2_FIRSTCASELESS)
 61904  __28:
 61905  	;
 61906  __27:
 61907  	;
 61908  
 61909  DONE:
 61910  	*(*Tuint32_t)(unsafe.Pointer(re + 96)) |= flags
 61911  __3:
 61912  	;
 61913  __1:
 61914  	;
 61915  
 61916  	// Find the minimum length of subject string. If the pattern can match an empty
 61917  	// string, the minimum length is already known. If the pattern contains (*ACCEPT)
 61918  	// all bets are off, and we don't even try to find a minimum length. If there are
 61919  	// more back references than the size of the vector we are going to cache them in,
 61920  	// do nothing. A pattern that complicated will probably take a long time to
 61921  	// analyze and may in any case turn out to be too complicated. Note that back
 61922  	// reference minima are held as 16-bit numbers.
 61923  
 61924  	if !((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fflags&Tuint32_t(DPCRE2_MATCH_EMPTY|DPCRE2_HASACCEPT) == Tuint32_t(0) && int32((*Tpcre2_real_code_8)(unsafe.Pointer(re)).Ftop_backref) <= DMAX_CACHE_BACKREF) {
 61925  		goto __29
 61926  	}
 61927  
 61928  	*(*int32)(unsafe.Pointer(bp + 4)) = 0 // Highest one that is set
 61929  	min = find_minlength(tls, re, code, code, utf, uintptr(0), bp+520, bp+4)
 61930  	switch min {
 61931  	case -1:
 61932  		goto __31 // Leave minlength unchanged (will be zero)
 61933  
 61934  	case -2:
 61935  		goto __32 // missing capturing bracket
 61936  
 61937  	case -3:
 61938  		goto __33 // unrecognized opcode
 61939  
 61940  	default:
 61941  		goto __34
 61942  	}
 61943  	goto __30
 61944  
 61945  __31: // \C in UTF mode or over-complex regex
 61946  	goto __30 // Leave minlength unchanged (will be zero)
 61947  
 61948  __32:
 61949  	return 2 // missing capturing bracket
 61950  
 61951  __33:
 61952  	return 3 // unrecognized opcode
 61953  
 61954  __34:
 61955  	(*Tpcre2_real_code_8)(unsafe.Pointer(re)).Fminlength = func() uint16 {
 61956  		if min > 65535 {
 61957  			return uint16(65535)
 61958  		}
 61959  		return uint16(min)
 61960  	}()
 61961  	goto __30
 61962  __30:
 61963  	;
 61964  __29:
 61965  	;
 61966  
 61967  	return 0
 61968  }
 61969  
 61970  // End of pcre2_study.c
 61971  
 61972  // This function is needed only when memmove() is not available.
 61973  
 61974  // End of pcre2_internal.h
 61975  
 61976  // ************************************************
 61977  //
 61978  //           Find end of substitute text          *
 61979  //
 61980  
 61981  // In extended mode, we recognize ${name:+set text:unset text} and similar
 61982  // constructions. This requires the identification of unescaped : and }
 61983  // characters. This function scans for such. It must deal with nested ${
 61984  // constructions. The pointer to the text is updated, either to the required end
 61985  // character, or to where an error was detected.
 61986  //
 61987  // Arguments:
 61988  //   code      points to the compiled expression (for options)
 61989  //   ptrptr    points to the pointer to the start of the text (updated)
 61990  //   ptrend    end of the whole string
 61991  //   last      TRUE if the last expected string (only } recognized)
 61992  //
 61993  // Returns:    0 on success
 61994  //             negative error code on failure
 61995  
 61996  func find_text_end(tls *libc.TLS, code uintptr, ptrptr uintptr, ptrend TPCRE2_SPTR8, last TBOOL) int32 { /* pcre2_substitute.c:79:1: */
 61997  	bp := tls.Alloc(16)
 61998  	defer tls.Free(16)
 61999  
 62000  	var rc int32
 62001  	var nestlevel Tuint32_t
 62002  	var literal TBOOL
 62003  	// var ptr TPCRE2_SPTR8 at bp, 8
 62004  
 62005  	var erc int32
 62006  	// var errorcode int32 at bp+12, 4
 62007  
 62008  	// var ch Tuint32_t at bp+8, 4
 62009  	rc = 0
 62010  	nestlevel = Tuint32_t(0)
 62011  	literal = DFALSE
 62012  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr))
 62013  
 62014  __1:
 62015  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend) {
 62016  		goto __3
 62017  	}
 62018  
 62019  	if !(literal != 0) {
 62020  		goto __4
 62021  	}
 62022  
 62023  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\134' && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + 1))) == '\105') {
 62024  		goto __6
 62025  	}
 62026  
 62027  	literal = DFALSE
 62028  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1)
 62029  __6:
 62030  	;
 62031  	goto __5
 62032  __4:
 62033  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\175') {
 62034  		goto __7
 62035  	}
 62036  
 62037  	if !(nestlevel == Tuint32_t(0)) {
 62038  		goto __9
 62039  	}
 62040  	goto EXIT
 62041  __9:
 62042  	;
 62043  	nestlevel--
 62044  	goto __8
 62045  __7:
 62046  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\072' && !(last != 0) && nestlevel == Tuint32_t(0)) {
 62047  		goto __10
 62048  	}
 62049  	goto EXIT
 62050  	goto __11
 62051  __10:
 62052  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\044') {
 62053  		goto __12
 62054  	}
 62055  
 62056  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) + 1))) == '\173') {
 62057  		goto __14
 62058  	}
 62059  
 62060  	nestlevel++
 62061  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1)
 62062  __14:
 62063  	;
 62064  	goto __13
 62065  __12:
 62066  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp))))) == '\134') {
 62067  		goto __15
 62068  	}
 62069  
 62070  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp)) < ptrend-uintptr(1)) {
 62071  		goto __16
 62072  	}
 62073  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) + 1))) {
 62074  	case '\114':
 62075  		goto __18
 62076  	case '\154':
 62077  		goto __19
 62078  	case '\125':
 62079  		goto __20
 62080  	case '\165':
 62081  		goto __21
 62082  	}
 62083  	goto __17
 62084  
 62085  __18:
 62086  __19:
 62087  __20:
 62088  __21:
 62089  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1)
 62090  	goto __2
 62091  __17:
 62092  	;
 62093  __16:
 62094  	;
 62095  
 62096  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) += uintptr(1) // Must point after \
 62097  	erc = X_pcre2_check_escape_8(tls, bp, ptrend, bp+8, bp+12,
 62098  		(*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fextra_options, DFALSE, uintptr(0))
 62099  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */)) -= uintptr(1) // Back to last code unit of escape
 62100  	if !(*(*int32)(unsafe.Pointer(bp + 12)) != 0) {
 62101  		goto __22
 62102  	}
 62103  
 62104  	rc = *(*int32)(unsafe.Pointer(bp + 12 /* errorcode */))
 62105  	goto EXIT
 62106  __22:
 62107  	;
 62108  
 62109  	switch erc {
 62110  	case 0:
 62111  		goto __24 // Data character
 62112  	case ESC_E:
 62113  		goto __25
 62114  
 62115  	case ESC_Q:
 62116  		goto __26
 62117  
 62118  	default:
 62119  		goto __27
 62120  	}
 62121  	goto __23
 62122  
 62123  __24: // Data character
 62124  __25: // Isolated \E is ignored
 62125  	goto __23
 62126  
 62127  __26:
 62128  	literal = DTRUE
 62129  	goto __23
 62130  
 62131  __27:
 62132  	rc = -57
 62133  	goto EXIT
 62134  __23:
 62135  	;
 62136  __15:
 62137  	;
 62138  __13:
 62139  	;
 62140  __11:
 62141  	;
 62142  __8:
 62143  	;
 62144  __5:
 62145  	;
 62146  	goto __2
 62147  __2:
 62148  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */))++
 62149  	goto __1
 62150  	goto __3
 62151  __3:
 62152  	;
 62153  
 62154  	rc = -58 // Terminator not found
 62155  
 62156  EXIT:
 62157  	*(*TPCRE2_SPTR8)(unsafe.Pointer(ptrptr)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* ptr */))
 62158  	return rc
 62159  }
 62160  
 62161  // ************************************************
 62162  //
 62163  //              Match and substitute              *
 62164  //
 62165  
 62166  // This function applies a compiled re to a subject string and creates a new
 62167  // string with substitutions. The first 7 arguments are the same as for
 62168  // pcre2_match(). Either string length may be PCRE2_ZERO_TERMINATED.
 62169  //
 62170  // Arguments:
 62171  //   code            points to the compiled expression
 62172  //   subject         points to the subject string
 62173  //   length          length of subject string (may contain binary zeros)
 62174  //   start_offset    where to start in the subject string
 62175  //   options         option bits
 62176  //   match_data      points to a match_data block, or is NULL
 62177  //   context         points a PCRE2 context
 62178  //   replacement     points to the replacement string
 62179  //   rlength         length of replacement string
 62180  //   buffer          where to put the substituted string
 62181  //   blength         points to length of buffer; updated to length of string
 62182  //
 62183  // Returns:          >= 0 number of substitutions made
 62184  //                   < 0 an error code
 62185  //                   PCRE2_ERROR_BADREPLACEMENT means invalid use of $
 62186  
 62187  // This macro checks for space in the buffer before copying into it. On
 62188  // overflow, either give an error immediately, or keep on, accumulating the
 62189  // length.
 62190  
 62191  // Here's the function
 62192  
 62193  func Xpcre2_substitute_8(tls *libc.TLS, code uintptr, subject TPCRE2_SPTR8, length Tsize_t, start_offset Tsize_t, options Tuint32_t, match_data uintptr, mcontext uintptr, replacement TPCRE2_SPTR8, rlength Tsize_t, buffer uintptr, blength uintptr) int32 { /* pcre2_substitute.c:220:1: */
 62194  	bp := tls.Alloc(328)
 62195  	defer tls.Free(328)
 62196  
 62197  	var rc int32
 62198  	var subs int32
 62199  	var forcecase int32
 62200  	var forcecasereset int32
 62201  	var ovector_count Tuint32_t
 62202  	var goptions Tuint32_t
 62203  	var suboptions Tuint32_t
 62204  	var internal_match_data uintptr
 62205  	var escaped_literal TBOOL
 62206  	var overflowed TBOOL
 62207  	var use_existing_match TBOOL
 62208  	var replacement_only TBOOL
 62209  	var utf TBOOL
 62210  	var ucp TBOOL
 62211  	// var temp [6]TPCRE2_UCHAR8 at bp+312, 6
 62212  
 62213  	// var ptr TPCRE2_SPTR8 at bp+280, 8
 62214  
 62215  	var repend TPCRE2_SPTR8
 62216  	var extra_needed Tsize_t
 62217  	var buff_offset Tsize_t
 62218  	var buff_length Tsize_t
 62219  	var lengthleft Tsize_t
 62220  	var fraglength Tsize_t
 62221  	var ovector uintptr
 62222  	// var ovecsave [3]Tsize_t at bp, 24
 62223  
 62224  	// var scb Tpcre2_substitute_callout_block_8 at bp+24, 56
 62225  
 62226  	var gcontext uintptr
 62227  	var gcontext1 uintptr
 62228  	var pairs int32
 62229  	var save_start Tsize_t
 62230  	var ctypes uintptr
 62231  	var mark_start TPCRE2_SPTR8
 62232  	var mark TPCRE2_SPTR8
 62233  	var ng Tuint32_t
 62234  	// var first TPCRE2_SPTR8 at bp+288, 8
 62235  
 62236  	// var last TPCRE2_SPTR8 at bp+296, 8
 62237  
 62238  	var entry TPCRE2_SPTR8
 62239  	var type1 Tuint32_t
 62240  	var subptr TPCRE2_SPTR8
 62241  	var subptrend TPCRE2_SPTR8
 62242  	var group int32
 62243  	var n int32
 62244  	var special Tuint32_t
 62245  	var inparens TBOOL
 62246  	var star TBOOL
 62247  	// var sublength Tsize_t at bp+304, 8
 62248  
 62249  	var text1_start TPCRE2_SPTR8
 62250  	var text1_end TPCRE2_SPTR8
 62251  	var text2_start TPCRE2_SPTR8
 62252  	var text2_end TPCRE2_SPTR8
 62253  	var next TPCRE2_UCHAR8
 62254  	// var name [33]TPCRE2_UCHAR8 at bp+240, 33
 62255  
 62256  	// var errorcode int32 at bp+324, 4
 62257  
 62258  	var type2 Tuint32_t
 62259  	// var ch Tuint32_t at bp+320, 4
 62260  
 62261  	var chlen uint32
 62262  	var newlength Tsize_t
 62263  	var oldlength Tsize_t
 62264  	// var ptrstack [20]TPCRE2_SPTR8 at bp+80, 160
 62265  
 62266  	var ptrstackptr Tuint32_t
 62267  	forcecase = 0
 62268  	forcecasereset = 0
 62269  	goptions = Tuint32_t(0)
 62270  	internal_match_data = uintptr(0)
 62271  	escaped_literal = DFALSE
 62272  	overflowed = DFALSE
 62273  	utf = libc.Bool32((*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options&DPCRE2_UTF != Tuint32_t(0))
 62274  	ucp = libc.Bool32((*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options&DPCRE2_UCP != Tuint32_t(0))
 62275  	extra_needed = uint64(0)
 62276  
 62277  	// General initialization
 62278  
 62279  	buff_offset = uint64(0)
 62280  	lengthleft = libc.AssignUint64(&buff_length, *(*Tsize_t)(unsafe.Pointer(blength)))
 62281  	*(*Tsize_t)(unsafe.Pointer(blength)) = libc.CplUint64(uint64(0))
 62282  	*(*Tsize_t)(unsafe.Pointer(bp)) = libc.AssignPtrUint64(bp+1*8, libc.AssignPtrUint64(bp+2*8, libc.CplUint64(uint64(0))))
 62283  
 62284  	// Partial matching is not valid. This must come after setting *blength to
 62285  	// PCRE2_UNSET, so as not to imply an offset in the replacement.
 62286  
 62287  	if !(options&(DPCRE2_PARTIAL_HARD|DPCRE2_PARTIAL_SOFT) != Tuint32_t(0)) {
 62288  		goto __1
 62289  	}
 62290  	return -34
 62291  __1:
 62292  	;
 62293  
 62294  	// Validate length and find the end of the replacement. A NULL replacement of
 62295  	// zero length is interpreted as an empty string.
 62296  
 62297  	if !(replacement == uintptr(0)) {
 62298  		goto __2
 62299  	}
 62300  
 62301  	if !(rlength != uint64(0)) {
 62302  		goto __3
 62303  	}
 62304  	return -51
 62305  __3:
 62306  	;
 62307  	replacement = ts + 797 /* "" */
 62308  __2:
 62309  	;
 62310  
 62311  	if !(rlength == libc.CplUint64(uint64(0))) {
 62312  		goto __4
 62313  	}
 62314  	rlength = X_pcre2_strlen_8(tls, replacement)
 62315  __4:
 62316  	;
 62317  	repend = replacement + uintptr(rlength)
 62318  
 62319  	// Check for using a match that has already happened. Note that the subject
 62320  	// pointer in the match data may be NULL after a no-match.
 62321  
 62322  	use_existing_match = libc.Bool32(options&DPCRE2_SUBSTITUTE_MATCHED != Tuint32_t(0))
 62323  	replacement_only = libc.Bool32(options&DPCRE2_SUBSTITUTE_REPLACEMENT_ONLY != Tuint32_t(0))
 62324  
 62325  	// If starting from an existing match, there must be an externally provided
 62326  	// match data block. We create an internal match_data block in two cases: (a) an
 62327  	// external one is not supplied (and we are not starting from an existing match);
 62328  	// (b) an existing match is to be used for the first substitution. In the latter
 62329  	// case, we copy the existing match into the internal block. This ensures that no
 62330  	// changes are made to the existing match data block.
 62331  
 62332  	if !(match_data == uintptr(0)) {
 62333  		goto __5
 62334  	}
 62335  
 62336  	if !(use_existing_match != 0) {
 62337  		goto __7
 62338  	}
 62339  	return -51
 62340  __7:
 62341  	;
 62342  	if mcontext == uintptr(0) {
 62343  		gcontext = code
 62344  	} else {
 62345  		gcontext = mcontext
 62346  	}
 62347  	match_data = libc.AssignUintptr(&internal_match_data, Xpcre2_match_data_create_from_pattern_8(tls, code, gcontext))
 62348  	if !(internal_match_data == uintptr(0)) {
 62349  		goto __8
 62350  	}
 62351  	return -48
 62352  __8:
 62353  	;
 62354  	goto __6
 62355  __5:
 62356  	if !(use_existing_match != 0) {
 62357  		goto __9
 62358  	}
 62359  
 62360  	if mcontext == uintptr(0) {
 62361  		gcontext1 = code
 62362  	} else {
 62363  		gcontext1 = mcontext
 62364  	}
 62365  	if int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket)+1 < int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 62366  		pairs = int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket) + 1
 62367  	} else {
 62368  		pairs = int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount)
 62369  	}
 62370  	internal_match_data = Xpcre2_match_data_create_8(tls, uint32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount),
 62371  		gcontext1)
 62372  	if !(internal_match_data == uintptr(0)) {
 62373  		goto __10
 62374  	}
 62375  	return -48
 62376  __10:
 62377  	;
 62378  	libc.Xmemcpy(tls, internal_match_data, match_data, uint64(uintptr(0)+80)+
 62379  		uint64(2*pairs)*uint64(unsafe.Sizeof(Tsize_t(0))))
 62380  	match_data = internal_match_data
 62381  __9:
 62382  	;
 62383  __6:
 62384  	;
 62385  
 62386  	// Remember ovector details
 62387  
 62388  	ovector = Xpcre2_get_ovector_pointer_8(tls, match_data)
 62389  	ovector_count = Xpcre2_get_ovector_count_8(tls, match_data)
 62390  
 62391  	// Fixed things in the callout block
 62392  
 62393  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Fversion = Tuint32_t(0)
 62394  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Finput = subject
 62395  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Foutput = buffer
 62396  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Fovector = ovector
 62397  
 62398  	// A NULL subject of zero length is treated as an empty string.
 62399  
 62400  	if !(subject == uintptr(0)) {
 62401  		goto __11
 62402  	}
 62403  
 62404  	if !(length != uint64(0)) {
 62405  		goto __12
 62406  	}
 62407  	return -51
 62408  __12:
 62409  	;
 62410  	subject = ts + 797 /* "" */
 62411  __11:
 62412  	;
 62413  
 62414  	// Find length of zero-terminated subject
 62415  
 62416  	if !(length == libc.CplUint64(uint64(0))) {
 62417  		goto __13
 62418  	}
 62419  	if subject != 0 {
 62420  		length = X_pcre2_strlen_8(tls, subject)
 62421  	} else {
 62422  		length = uint64(0)
 62423  	}
 62424  __13:
 62425  	;
 62426  
 62427  	// Check UTF replacement string if necessary.
 62428  
 62429  	if !(utf != 0 && options&DPCRE2_NO_UTF_CHECK == Tuint32_t(0)) {
 62430  		goto __14
 62431  	}
 62432  
 62433  	rc = X_pcre2_valid_utf_8(tls, replacement, rlength, match_data+64)
 62434  	if !(rc != 0) {
 62435  		goto __15
 62436  	}
 62437  
 62438  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = uint64(0)
 62439  	goto EXIT
 62440  __15:
 62441  	;
 62442  __14:
 62443  	;
 62444  
 62445  	// Save the substitute options and remove them from the match options.
 62446  
 62447  	suboptions = options & (DPCRE2_SUBSTITUTE_EXTENDED | DPCRE2_SUBSTITUTE_GLOBAL | DPCRE2_SUBSTITUTE_LITERAL | DPCRE2_SUBSTITUTE_MATCHED | DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH | DPCRE2_SUBSTITUTE_REPLACEMENT_ONLY | DPCRE2_SUBSTITUTE_UNKNOWN_UNSET | DPCRE2_SUBSTITUTE_UNSET_EMPTY)
 62448  	options = options & libc.CplUint32(DPCRE2_SUBSTITUTE_EXTENDED|DPCRE2_SUBSTITUTE_GLOBAL|DPCRE2_SUBSTITUTE_LITERAL|DPCRE2_SUBSTITUTE_MATCHED|DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH|DPCRE2_SUBSTITUTE_REPLACEMENT_ONLY|DPCRE2_SUBSTITUTE_UNKNOWN_UNSET|DPCRE2_SUBSTITUTE_UNSET_EMPTY)
 62449  
 62450  	// Error if the start match offset is greater than the length of the subject.
 62451  
 62452  	if !(start_offset > length) {
 62453  		goto __16
 62454  	}
 62455  
 62456  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fleftchar = uint64(0)
 62457  	rc = -33
 62458  	goto EXIT
 62459  __16:
 62460  	;
 62461  
 62462  	// Copy up to the start offset, unless only the replacement is required.
 62463  
 62464  	if !!(replacement_only != 0) {
 62465  		goto __17
 62466  	}
 62467  	if !(!(overflowed != 0) && lengthleft < start_offset) {
 62468  		goto __18
 62469  	}
 62470  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 62471  		goto __20
 62472  	}
 62473  	goto NOROOM
 62474  __20:
 62475  	;
 62476  	overflowed = DTRUE
 62477  	extra_needed = start_offset - lengthleft
 62478  	goto __19
 62479  __18:
 62480  	if !(overflowed != 0) {
 62481  		goto __21
 62482  	}
 62483  	extra_needed = extra_needed + start_offset
 62484  	goto __22
 62485  __21:
 62486  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject, start_offset*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 62487  	buff_offset = buff_offset + start_offset
 62488  	lengthleft = lengthleft - start_offset
 62489  __22:
 62490  	;
 62491  __19:
 62492  	;
 62493  __17:
 62494  	;
 62495  
 62496  	// Loop for global substituting. If PCRE2_SUBSTITUTE_MATCHED is set, the first
 62497  	// match is taken from the match_data that was passed in.
 62498  
 62499  	subs = 0
 62500  __23:
 62501  	ptrstackptr = Tuint32_t(0)
 62502  
 62503  	if !(use_existing_match != 0) {
 62504  		goto __26
 62505  	}
 62506  
 62507  	rc = (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 62508  	use_existing_match = DFALSE
 62509  	goto __27
 62510  __26:
 62511  	rc = Xpcre2_match_8(tls, code, subject, length, start_offset, options|goptions,
 62512  		match_data, mcontext)
 62513  __27:
 62514  	;
 62515  
 62516  	if !(utf != 0) {
 62517  		goto __28
 62518  	}
 62519  	options = options | DPCRE2_NO_UTF_CHECK
 62520  __28:
 62521  	; // Only need to check once
 62522  
 62523  	// Any error other than no match returns the error code. No match when not
 62524  	//   doing the special after-empty-match global rematch, or when at the end of the
 62525  	//   subject, breaks the global loop. Otherwise, advance the starting point by one
 62526  	//   character, copying it to the output, and try again.
 62527  
 62528  	if !(rc < 0) {
 62529  		goto __29
 62530  	}
 62531  
 62532  	if !(rc != -1) {
 62533  		goto __30
 62534  	}
 62535  	goto EXIT
 62536  __30:
 62537  	;
 62538  	if !(goptions == Tuint32_t(0) || start_offset >= length) {
 62539  		goto __31
 62540  	}
 62541  	goto __25
 62542  __31:
 62543  	;
 62544  
 62545  	// Advance by one code point. Then, if CRLF is a valid newline sequence and
 62546  	//     we have advanced into the middle of it, advance one more code point. In
 62547  	//     other words, do not start in the middle of CRLF, even if CR and LF on their
 62548  	//     own are valid newlines.
 62549  
 62550  	save_start = libc.PostIncUint64(&start_offset, 1)
 62551  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subject + uintptr(start_offset-uint64(1))))) == '\015' && int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Fnewline_convention) != DPCRE2_NEWLINE_CR && int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Fnewline_convention) != DPCRE2_NEWLINE_LF && start_offset < length && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subject + uintptr(start_offset)))) == '\012') {
 62552  		goto __32
 62553  	}
 62554  	start_offset++
 62555  	goto __33
 62556  __32:
 62557  	if !((*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options&DPCRE2_UTF != Tuint32_t(0)) {
 62558  		goto __34
 62559  	}
 62560  
 62561  __35:
 62562  	if !(start_offset < length && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subject + uintptr(start_offset))))&0xc0 == 0x80) {
 62563  		goto __36
 62564  	}
 62565  	start_offset++
 62566  	goto __35
 62567  __36:
 62568  	;
 62569  __34:
 62570  	;
 62571  __33:
 62572  	;
 62573  
 62574  	// Copy what we have advanced past (unless not required), reset the special
 62575  	//     global options, and continue to the next match.
 62576  
 62577  	fraglength = start_offset - save_start
 62578  	if !!(replacement_only != 0) {
 62579  		goto __37
 62580  	}
 62581  	if !(!(overflowed != 0) && lengthleft < fraglength) {
 62582  		goto __38
 62583  	}
 62584  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 62585  		goto __40
 62586  	}
 62587  	goto NOROOM
 62588  __40:
 62589  	;
 62590  	overflowed = DTRUE
 62591  	extra_needed = fraglength - lengthleft
 62592  	goto __39
 62593  __38:
 62594  	if !(overflowed != 0) {
 62595  		goto __41
 62596  	}
 62597  	extra_needed = extra_needed + fraglength
 62598  	goto __42
 62599  __41:
 62600  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject+uintptr(save_start), fraglength*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 62601  	buff_offset = buff_offset + fraglength
 62602  	lengthleft = lengthleft - fraglength
 62603  __42:
 62604  	;
 62605  __39:
 62606  	;
 62607  __37:
 62608  	;
 62609  
 62610  	goptions = Tuint32_t(0)
 62611  	goto __24
 62612  __29:
 62613  	;
 62614  
 62615  	// Handle a successful match. Matches that use \K to end before they start
 62616  	//   or start before the current point in the subject are not supported.
 62617  
 62618  	if !(*(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) < *(*Tsize_t)(unsafe.Pointer(ovector)) || *(*Tsize_t)(unsafe.Pointer(ovector)) < start_offset) {
 62619  		goto __43
 62620  	}
 62621  
 62622  	rc = -60
 62623  	goto EXIT
 62624  __43:
 62625  	;
 62626  
 62627  	// Check for the same match as previous. This is legitimate after matching an
 62628  	//   empty string that starts after the initial match offset. We have tried again
 62629  	//   at the match point in case the pattern is one like /(?<=\G.)/ which can never
 62630  	//   match at its starting point, so running the match achieves the bumpalong. If
 62631  	//   we do get the same (null) match at the original match point, it isn't such a
 62632  	//   pattern, so we now do the empty string magic. In all other cases, a repeat
 62633  	//   match should never occur.
 62634  
 62635  	if !(*(*Tsize_t)(unsafe.Pointer(bp)) == *(*Tsize_t)(unsafe.Pointer(ovector)) && *(*Tsize_t)(unsafe.Pointer(bp + 1*8)) == *(*Tsize_t)(unsafe.Pointer(ovector + 1*8))) {
 62636  		goto __44
 62637  	}
 62638  
 62639  	if !(*(*Tsize_t)(unsafe.Pointer(ovector)) == *(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) && *(*Tsize_t)(unsafe.Pointer(bp + 2*8)) != start_offset) {
 62640  		goto __45
 62641  	}
 62642  
 62643  	goptions = DPCRE2_NOTEMPTY_ATSTART | DPCRE2_ANCHORED
 62644  	*(*Tsize_t)(unsafe.Pointer(bp + 2*8)) = start_offset
 62645  	goto __24 // Back to the top of the loop
 62646  __45:
 62647  	;
 62648  	rc = -65
 62649  	goto EXIT
 62650  __44:
 62651  	;
 62652  
 62653  	// Count substitutions with a paranoid check for integer overflow; surely no
 62654  	//   real call to this function would ever hit this!
 62655  
 62656  	if !(subs == 0x7fffffff) {
 62657  		goto __46
 62658  	}
 62659  
 62660  	rc = -61
 62661  	goto EXIT
 62662  __46:
 62663  	;
 62664  	subs++
 62665  
 62666  	// Copy the text leading up to the match (unless not required), and remember
 62667  	//   where the insert begins and how many ovector pairs are set.
 62668  
 62669  	if !(rc == 0) {
 62670  		goto __47
 62671  	}
 62672  	rc = int32(ovector_count)
 62673  __47:
 62674  	;
 62675  	fraglength = *(*Tsize_t)(unsafe.Pointer(ovector)) - start_offset
 62676  	if !!(replacement_only != 0) {
 62677  		goto __48
 62678  	}
 62679  	if !(!(overflowed != 0) && lengthleft < fraglength) {
 62680  		goto __49
 62681  	}
 62682  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 62683  		goto __51
 62684  	}
 62685  	goto NOROOM
 62686  __51:
 62687  	;
 62688  	overflowed = DTRUE
 62689  	extra_needed = fraglength - lengthleft
 62690  	goto __50
 62691  __49:
 62692  	if !(overflowed != 0) {
 62693  		goto __52
 62694  	}
 62695  	extra_needed = extra_needed + fraglength
 62696  	goto __53
 62697  __52:
 62698  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject+uintptr(start_offset), fraglength*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 62699  	buff_offset = buff_offset + fraglength
 62700  	lengthleft = lengthleft - fraglength
 62701  __53:
 62702  	;
 62703  __50:
 62704  	;
 62705  __48:
 62706  	;
 62707  
 62708  	*(*Tsize_t)(unsafe.Pointer(bp + 24 + 24)) = buff_offset
 62709  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Foveccount = Tuint32_t(rc)
 62710  
 62711  	// Process the replacement string. If the entire replacement is literal, just
 62712  	//   copy it with length check.
 62713  
 62714  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) = replacement
 62715  	if !(suboptions&DPCRE2_SUBSTITUTE_LITERAL != Tuint32_t(0)) {
 62716  		goto __54
 62717  	}
 62718  
 62719  	if !(!(overflowed != 0) && lengthleft < rlength) {
 62720  		goto __56
 62721  	}
 62722  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 62723  		goto __58
 62724  	}
 62725  	goto NOROOM
 62726  __58:
 62727  	;
 62728  	overflowed = DTRUE
 62729  	extra_needed = rlength - lengthleft
 62730  	goto __57
 62731  __56:
 62732  	if !(overflowed != 0) {
 62733  		goto __59
 62734  	}
 62735  	extra_needed = extra_needed + rlength
 62736  	goto __60
 62737  __59:
 62738  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)), rlength*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 62739  	buff_offset = buff_offset + rlength
 62740  	lengthleft = lengthleft - rlength
 62741  __60:
 62742  	;
 62743  __57:
 62744  	;
 62745  
 62746  	goto __55
 62747  __54:
 62748  __61:
 62749  
 62750  	// If at the end of a nested substring, pop the stack.
 62751  
 62752  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) >= repend) {
 62753  		goto __64
 62754  	}
 62755  
 62756  	if !(ptrstackptr == Tuint32_t(0)) {
 62757  		goto __65
 62758  	}
 62759  	goto __63
 62760  __65:
 62761  	; // End of replacement string
 62762  	repend = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 80 + uintptr(libc.PreDecUint32(&ptrstackptr, 1))*8))
 62763  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 80 + uintptr(libc.PreDecUint32(&ptrstackptr, 1))*8))
 62764  	goto __62
 62765  __64:
 62766  	;
 62767  
 62768  	// Handle the next character
 62769  
 62770  	if !(escaped_literal != 0) {
 62771  		goto __66
 62772  	}
 62773  
 62774  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) == '\134' && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) < repend-uintptr(1) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1))) == '\105') {
 62775  		goto __67
 62776  	}
 62777  
 62778  	escaped_literal = DFALSE
 62779  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2)
 62780  	goto __62
 62781  __67:
 62782  	;
 62783  	goto LOADLITERAL
 62784  __66:
 62785  	;
 62786  
 62787  	// Not in literal mode.
 62788  
 62789  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) == '\044') {
 62790  		goto __68
 62791  	}
 62792  	special = Tuint32_t(0)
 62793  	text1_start = uintptr(0)
 62794  	text1_end = uintptr(0)
 62795  	text2_start = uintptr(0)
 62796  	text2_end = uintptr(0)
 62797  
 62798  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) >= repend) {
 62799  		goto __70
 62800  	}
 62801  	goto BAD
 62802  __70:
 62803  	;
 62804  	if !(int32(libc.AssignUint8(&next, *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))) == '\044') {
 62805  		goto __71
 62806  	}
 62807  	goto LOADLITERAL
 62808  __71:
 62809  	;
 62810  
 62811  	group = -1
 62812  	n = 0
 62813  	inparens = DFALSE
 62814  	star = DFALSE
 62815  
 62816  	if !(int32(next) == '\173') {
 62817  		goto __72
 62818  	}
 62819  
 62820  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) >= repend) {
 62821  		goto __73
 62822  	}
 62823  	goto BAD
 62824  __73:
 62825  	;
 62826  	next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))))
 62827  	inparens = DTRUE
 62828  __72:
 62829  	;
 62830  
 62831  	if !(int32(next) == '\052') {
 62832  		goto __74
 62833  	}
 62834  
 62835  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) >= repend) {
 62836  		goto __75
 62837  	}
 62838  	goto BAD
 62839  __75:
 62840  	;
 62841  	next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))))
 62842  	star = DTRUE
 62843  __74:
 62844  	;
 62845  
 62846  	if !(!(star != 0) && int32(next) >= '\060' && int32(next) <= '\071') {
 62847  		goto __76
 62848  	}
 62849  
 62850  	group = int32(next) - '\060'
 62851  __78:
 62852  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) < repend) {
 62853  		goto __79
 62854  	}
 62855  
 62856  	next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))))
 62857  	if !(int32(next) < '\060' || int32(next) > '\071') {
 62858  		goto __80
 62859  	}
 62860  	goto __79
 62861  __80:
 62862  	;
 62863  	group = group*10 + int32(next) - '\060'
 62864  
 62865  	// A check for a number greater than the hightest captured group
 62866  	//           is sufficient here; no need for a separate overflow check. If unknown
 62867  	//           groups are to be treated as unset, just skip over any remaining
 62868  	//           digits and carry on.
 62869  
 62870  	if !(group > int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket)) {
 62871  		goto __81
 62872  	}
 62873  
 62874  	if !(suboptions&DPCRE2_SUBSTITUTE_UNKNOWN_UNSET != Tuint32_t(0)) {
 62875  		goto __82
 62876  	}
 62877  
 62878  __84:
 62879  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) < repend && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) >= '\060' && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) <= '\071') {
 62880  		goto __85
 62881  	}
 62882  	goto __84
 62883  __85:
 62884  	;
 62885  	goto __79
 62886  	goto __83
 62887  __82:
 62888  
 62889  	rc = -49
 62890  	goto PTREXIT
 62891  __83:
 62892  	;
 62893  __81:
 62894  	;
 62895  	goto __78
 62896  __79:
 62897  	;
 62898  	goto __77
 62899  __76:
 62900  
 62901  	ctypes = (*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset+Dcbit_length)
 62902  __86:
 62903  	if !(1 != 0 && int32(*(*Tuint8_t)(unsafe.Pointer(ctypes + uintptr(next))))&Dctype_word != 0) {
 62904  		goto __87
 62905  	}
 62906  
 62907  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 240 + uintptr(libc.PostIncInt32(&n, 1)))) = next
 62908  	if !(n > 32) {
 62909  		goto __88
 62910  	}
 62911  	goto BAD
 62912  __88:
 62913  	;
 62914  	if !(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1) >= repend) {
 62915  		goto __89
 62916  	}
 62917  	goto __87
 62918  __89:
 62919  	;
 62920  	next = *(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))))
 62921  	goto __86
 62922  __87:
 62923  	;
 62924  	if !(n == 0) {
 62925  		goto __90
 62926  	}
 62927  	goto BAD
 62928  __90:
 62929  	;
 62930  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 240 + uintptr(n))) = TPCRE2_UCHAR8(0)
 62931  __77:
 62932  	;
 62933  
 62934  	// In extended mode we recognize ${name:+set text:unset text} and
 62935  	//       ${name:-default text}.
 62936  
 62937  	if !(inparens != 0) {
 62938  		goto __91
 62939  	}
 62940  
 62941  	if !(suboptions&DPCRE2_SUBSTITUTE_EXTENDED != Tuint32_t(0) && !(star != 0) && *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) < repend-uintptr(2) && int32(next) == '\072') {
 62942  		goto __92
 62943  	}
 62944  
 62945  	special = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1))))
 62946  	if !(special != Tuint32_t('\053') && special != Tuint32_t('\055')) {
 62947  		goto __94
 62948  	}
 62949  
 62950  	rc = -59
 62951  	goto PTREXIT
 62952  __94:
 62953  	;
 62954  
 62955  	text1_start = libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)), 1)
 62956  	rc = find_text_end(tls, code, bp+280, repend, libc.Bool32(special == Tuint32_t('\055')))
 62957  	if !(rc != 0) {
 62958  		goto __95
 62959  	}
 62960  	goto PTREXIT
 62961  __95:
 62962  	;
 62963  	text1_end = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))
 62964  
 62965  	if !(special == Tuint32_t('\053') && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) == '\072') {
 62966  		goto __96
 62967  	}
 62968  
 62969  	text2_start = libc.PreIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)), 1)
 62970  	rc = find_text_end(tls, code, bp+280, repend, DTRUE)
 62971  	if !(rc != 0) {
 62972  		goto __97
 62973  	}
 62974  	goto PTREXIT
 62975  __97:
 62976  	;
 62977  	text2_end = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))
 62978  __96:
 62979  	;
 62980  	goto __93
 62981  __92:
 62982  
 62983  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) >= repend || int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) != '\175') {
 62984  		goto __98
 62985  	}
 62986  
 62987  	rc = -58
 62988  	goto PTREXIT
 62989  __98:
 62990  	;
 62991  __93:
 62992  	;
 62993  
 62994  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))++
 62995  __91:
 62996  	;
 62997  
 62998  	// Have found a syntactically correct group number or name, or *name.
 62999  	//       Only *MARK is currently recognized.
 63000  
 63001  	if !(star != 0) {
 63002  		goto __99
 63003  	}
 63004  
 63005  	if !(X_pcre2_strcmp_c8_8(tls, bp+240, ts+7678) == 0) {
 63006  		goto __101
 63007  	}
 63008  
 63009  	mark = Xpcre2_get_mark_8(tls, match_data)
 63010  	if !(mark != uintptr(0)) {
 63011  		goto __103
 63012  	}
 63013  
 63014  	mark_start = mark
 63015  __104:
 63016  	if !(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(mark))) != 0) {
 63017  		goto __105
 63018  	}
 63019  	mark++
 63020  	goto __104
 63021  __105:
 63022  	;
 63023  	fraglength = Tsize_t((int64(mark) - int64(mark_start)) / 1)
 63024  	if !(!(overflowed != 0) && lengthleft < fraglength) {
 63025  		goto __106
 63026  	}
 63027  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63028  		goto __108
 63029  	}
 63030  	goto NOROOM
 63031  __108:
 63032  	;
 63033  	overflowed = DTRUE
 63034  	extra_needed = fraglength - lengthleft
 63035  	goto __107
 63036  __106:
 63037  	if !(overflowed != 0) {
 63038  		goto __109
 63039  	}
 63040  	extra_needed = extra_needed + fraglength
 63041  	goto __110
 63042  __109:
 63043  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), mark_start, fraglength*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 63044  	buff_offset = buff_offset + fraglength
 63045  	lengthleft = lengthleft - fraglength
 63046  __110:
 63047  	;
 63048  __107:
 63049  	;
 63050  
 63051  __103:
 63052  	;
 63053  	goto __102
 63054  __101:
 63055  	goto BAD
 63056  __102:
 63057  	;
 63058  	goto __100
 63059  __99:
 63060  
 63061  	// Find a number for a named group. In case there are duplicate names,
 63062  	//         search for the first one that is set. If the name is not found when
 63063  	//         PCRE2_SUBSTITUTE_UNKNOWN_EMPTY is set, set the group number to a
 63064  	//         non-existent group.
 63065  
 63066  	if !(group < 0) {
 63067  		goto __111
 63068  	}
 63069  
 63070  	rc = Xpcre2_substring_nametable_scan_8(tls, code, bp+240, bp+288, bp+296)
 63071  	if !(rc == -49 && suboptions&DPCRE2_SUBSTITUTE_UNKNOWN_UNSET != Tuint32_t(0)) {
 63072  		goto __112
 63073  	}
 63074  
 63075  	group = int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftop_bracket) + 1
 63076  	goto __113
 63077  __112:
 63078  
 63079  	if !(rc < 0) {
 63080  		goto __114
 63081  	}
 63082  	goto PTREXIT
 63083  __114:
 63084  	;
 63085  	entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 288 /* first */))
 63086  __115:
 63087  	if !(entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 296))) {
 63088  		goto __117
 63089  	}
 63090  
 63091  	ng = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1))))
 63092  	if !(ng < ovector_count) {
 63093  		goto __118
 63094  	}
 63095  
 63096  	if !(group < 0) {
 63097  		goto __119
 63098  	}
 63099  	group = int32(ng)
 63100  __119:
 63101  	; // First in ovector
 63102  	if !(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(ng*Tuint32_t(2))*8)) != libc.CplUint64(uint64(0))) {
 63103  		goto __120
 63104  	}
 63105  
 63106  	group = int32(ng) // First that is set
 63107  	goto __117
 63108  __120:
 63109  	;
 63110  __118:
 63111  	;
 63112  	goto __116
 63113  __116:
 63114  	entry += TPCRE2_SPTR8(rc)
 63115  	goto __115
 63116  	goto __117
 63117  __117:
 63118  	;
 63119  
 63120  	// If group is still negative, it means we did not find a group
 63121  	//             that is in the ovector. Just set the first group.
 63122  
 63123  	if !(group < 0) {
 63124  		goto __121
 63125  	}
 63126  	group = int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 288)))))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 288)) + 1)))))
 63127  __121:
 63128  	;
 63129  __113:
 63130  	;
 63131  __111:
 63132  	;
 63133  
 63134  	// We now have a group that is identified by number. Find the length of
 63135  	//         the captured string. If a group in a non-special substitution is unset
 63136  	//         when PCRE2_SUBSTITUTE_UNSET_EMPTY is set, substitute nothing.
 63137  
 63138  	rc = Xpcre2_substring_length_bynumber_8(tls, match_data, uint32(group), bp+304)
 63139  	if !(rc < 0) {
 63140  		goto __122
 63141  	}
 63142  
 63143  	if !(rc == -49 && suboptions&DPCRE2_SUBSTITUTE_UNKNOWN_UNSET != Tuint32_t(0)) {
 63144  		goto __123
 63145  	}
 63146  
 63147  	rc = -55
 63148  __123:
 63149  	;
 63150  	if !(rc != -55) {
 63151  		goto __124
 63152  	}
 63153  	goto PTREXIT
 63154  __124:
 63155  	; // Non-unset errors
 63156  	if !(special == Tuint32_t(0)) {
 63157  		goto __125
 63158  	} /* Plain substitution */
 63159  
 63160  	if !(suboptions&DPCRE2_SUBSTITUTE_UNSET_EMPTY != Tuint32_t(0)) {
 63161  		goto __126
 63162  	}
 63163  	goto __62
 63164  __126:
 63165  	;
 63166  	goto PTREXIT // Else error
 63167  __125:
 63168  	;
 63169  __122:
 63170  	;
 63171  
 63172  	// If special is '+' we have a 'set' and possibly an 'unset' text,
 63173  	//         both of which are reprocessed when used. If special is '-' we have a
 63174  	//         default text for when the group is unset; it must be reprocessed.
 63175  
 63176  	if !(special != Tuint32_t(0)) {
 63177  		goto __127
 63178  	}
 63179  
 63180  	if !(special == Tuint32_t('\055')) {
 63181  		goto __128
 63182  	}
 63183  
 63184  	if !(rc == 0) {
 63185  		goto __129
 63186  	}
 63187  	goto LITERAL_SUBSTITUTE
 63188  __129:
 63189  	;
 63190  	text2_start = text1_start
 63191  	text2_end = text1_end
 63192  __128:
 63193  	;
 63194  
 63195  	if !(ptrstackptr >= Tuint32_t(DPTR_STACK_SIZE)) {
 63196  		goto __130
 63197  	}
 63198  	goto BAD
 63199  __130:
 63200  	;
 63201  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 80 + uintptr(libc.PostIncUint32(&ptrstackptr, 1))*8)) = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))
 63202  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 80 + uintptr(libc.PostIncUint32(&ptrstackptr, 1))*8)) = repend
 63203  
 63204  	if !(rc == 0) {
 63205  		goto __131
 63206  	}
 63207  
 63208  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) = text1_start
 63209  	repend = text1_end
 63210  	goto __132
 63211  __131:
 63212  
 63213  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) = text2_start
 63214  	repend = text2_end
 63215  __132:
 63216  	;
 63217  	goto __62
 63218  __127:
 63219  	;
 63220  
 63221  	// Otherwise we have a literal substitution of a group's contents.
 63222  
 63223  LITERAL_SUBSTITUTE:
 63224  	subptr = subject + uintptr(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(group*2)*8)))
 63225  	subptrend = subject + uintptr(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(group*2+1)*8)))
 63226  
 63227  	// Substitute a literal string, possibly forcing alphabetic case.
 63228  
 63229  __133:
 63230  	if !(subptr < subptrend) {
 63231  		goto __134
 63232  	}
 63233  
 63234  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&subptr, 1))))
 63235  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 320)) >= 0xc0) {
 63236  		goto __135
 63237  	}
 63238  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x20 == Tuint32_t(0)) {
 63239  		goto __136
 63240  	}
 63241  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&subptr, 1))))&0x3f
 63242  	goto __137
 63243  __136:
 63244  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x10 == Tuint32_t(0)) {
 63245  		goto __138
 63246  	}
 63247  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 1)))&0x3f
 63248  	subptr += uintptr(2)
 63249  	goto __139
 63250  __138:
 63251  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x08 == Tuint32_t(0)) {
 63252  		goto __140
 63253  	}
 63254  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 2)))&0x3f
 63255  	subptr += uintptr(3)
 63256  	goto __141
 63257  __140:
 63258  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x04 == Tuint32_t(0)) {
 63259  		goto __142
 63260  	}
 63261  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 3)))&0x3f
 63262  	subptr += uintptr(4)
 63263  	goto __143
 63264  __142:
 63265  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(subptr + 4)))&0x3f
 63266  	subptr += uintptr(5)
 63267  __143:
 63268  	;
 63269  __141:
 63270  	;
 63271  __139:
 63272  	;
 63273  __137:
 63274  	;
 63275  __135:
 63276  	;
 63277  
 63278  	if !(forcecase != 0) {
 63279  		goto __144
 63280  	}
 63281  
 63282  	if !(utf != 0 || ucp != 0) {
 63283  		goto __145
 63284  	}
 63285  
 63286  	type1 = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))%DUCD_BLOCK_SIZE])*12)).Fchartype)
 63287  	if !(X_pcre2_ucp_gentype_8[type1] == ucp_L && type1 != func() uint32 {
 63288  		if forcecase > 0 {
 63289  			return ucp_Lu
 63290  		}
 63291  		return ucp_Ll
 63292  	}()) {
 63293  		goto __147
 63294  	}
 63295  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320))) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))%DUCD_BLOCK_SIZE])*12)).Fother_case)
 63296  __147:
 63297  	;
 63298  	goto __146
 63299  __145:
 63300  
 63301  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset) + uintptr(func() int32 {
 63302  		if forcecase > 0 {
 63303  			return Dcbit_upper
 63304  		}
 63305  		return Dcbit_lower
 63306  	}()) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 320))/Tuint32_t(8)))))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(bp + 320))%Tuint32_t(8))) == uint32(0)) {
 63307  		goto __148
 63308  	}
 63309  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dfcc_offset) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */))))))
 63310  __148:
 63311  	;
 63312  __146:
 63313  	;
 63314  	forcecase = forcecasereset
 63315  __144:
 63316  	;
 63317  
 63318  	if !(utf != 0) {
 63319  		goto __149
 63320  	}
 63321  	chlen = X_pcre2_ord2utf_8(tls, *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)), bp+312)
 63322  	goto __150
 63323  __149:
 63324  
 63325  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 312)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)))
 63326  	chlen = uint32(1)
 63327  __150:
 63328  	;
 63329  	if !(!(overflowed != 0) && lengthleft < Tsize_t(chlen)) {
 63330  		goto __151
 63331  	}
 63332  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63333  		goto __153
 63334  	}
 63335  	goto NOROOM
 63336  __153:
 63337  	;
 63338  	overflowed = DTRUE
 63339  	extra_needed = Tsize_t(chlen) - lengthleft
 63340  	goto __152
 63341  __151:
 63342  	if !(overflowed != 0) {
 63343  		goto __154
 63344  	}
 63345  	extra_needed = extra_needed + Tsize_t(chlen)
 63346  	goto __155
 63347  __154:
 63348  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), bp+312, uint64(chlen*uint32(DPCRE2_CODE_UNIT_WIDTH/8)))
 63349  	buff_offset = buff_offset + Tsize_t(chlen)
 63350  	lengthleft = lengthleft - Tsize_t(chlen)
 63351  __155:
 63352  	;
 63353  __152:
 63354  	;
 63355  
 63356  	goto __133
 63357  __134:
 63358  	;
 63359  __100:
 63360  	;
 63361  	goto __69
 63362  __68:
 63363  	if !(suboptions&DPCRE2_SUBSTITUTE_EXTENDED != Tuint32_t(0) && int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))))) == '\134') {
 63364  		goto __156
 63365  	}
 63366  
 63367  	if !(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) < repend-uintptr(1)) {
 63368  		goto __158
 63369  	}
 63370  	switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) + 1))) {
 63371  	case '\114':
 63372  		goto __160
 63373  
 63374  	case '\154':
 63375  		goto __161
 63376  
 63377  	case '\125':
 63378  		goto __162
 63379  
 63380  	case '\165':
 63381  		goto __163
 63382  
 63383  	default:
 63384  		goto __164
 63385  	}
 63386  	goto __159
 63387  
 63388  __160:
 63389  	forcecase = libc.AssignInt32(&forcecasereset, -1)
 63390  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2)
 63391  	goto __62
 63392  
 63393  __161:
 63394  	forcecase = -1
 63395  	forcecasereset = 0
 63396  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2)
 63397  	goto __62
 63398  
 63399  __162:
 63400  	forcecase = libc.AssignInt32(&forcecasereset, 1)
 63401  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2)
 63402  	goto __62
 63403  
 63404  __163:
 63405  	forcecase = 1
 63406  	forcecasereset = 0
 63407  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2)
 63408  	goto __62
 63409  
 63410  __164:
 63411  	goto __159
 63412  __159:
 63413  	;
 63414  __158:
 63415  	;
 63416  
 63417  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */))++ // Point after \
 63418  	rc = X_pcre2_check_escape_8(tls, bp+280, repend, bp+320, bp+324,
 63419  		(*Tpcre2_code_8)(unsafe.Pointer(code)).Foverall_options, (*Tpcre2_code_8)(unsafe.Pointer(code)).Fextra_options, DFALSE, uintptr(0))
 63420  	if !(*(*int32)(unsafe.Pointer(bp + 324)) != 0) {
 63421  		goto __165
 63422  	}
 63423  	goto BADESCAPE
 63424  __165:
 63425  	;
 63426  
 63427  	switch rc {
 63428  	case ESC_E:
 63429  		goto __167
 63430  
 63431  	case ESC_Q:
 63432  		goto __168
 63433  
 63434  	case 0:
 63435  		goto __169
 63436  
 63437  	default:
 63438  		goto __170
 63439  	}
 63440  	goto __166
 63441  
 63442  __167:
 63443  	forcecase = libc.AssignInt32(&forcecasereset, 0)
 63444  	goto __62
 63445  
 63446  __168:
 63447  	escaped_literal = DTRUE
 63448  	goto __62
 63449  
 63450  __169: // Data character
 63451  	goto LITERAL
 63452  
 63453  __170:
 63454  	goto BADESCAPE
 63455  __166:
 63456  	;
 63457  	goto __157
 63458  __156:
 63459  
 63460  LOADLITERAL:
 63461  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)), 1))))
 63462  	if !(utf != 0 && *(*Tuint32_t)(unsafe.Pointer(bp + 320)) >= 0xc0) {
 63463  		goto __171
 63464  	}
 63465  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x20 == Tuint32_t(0)) {
 63466  		goto __172
 63467  	}
 63468  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)), 1))))&0x3f
 63469  	goto __173
 63470  __172:
 63471  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x10 == Tuint32_t(0)) {
 63472  		goto __174
 63473  	}
 63474  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1)))&0x3f
 63475  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(2)
 63476  	goto __175
 63477  __174:
 63478  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x08 == Tuint32_t(0)) {
 63479  		goto __176
 63480  	}
 63481  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 2)))&0x3f
 63482  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(3)
 63483  	goto __177
 63484  __176:
 63485  	if !(*(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x04 == Tuint32_t(0)) {
 63486  		goto __178
 63487  	}
 63488  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 3)))&0x3f
 63489  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(4)
 63490  	goto __179
 63491  __178:
 63492  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = *(*Tuint32_t)(unsafe.Pointer(bp + 320))&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)))))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280)) + 4)))&0x3f
 63493  	*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280 /* ptr */)) += uintptr(5)
 63494  __179:
 63495  	;
 63496  __177:
 63497  	;
 63498  __175:
 63499  	;
 63500  __173:
 63501  	;
 63502  __171:
 63503  	;
 63504  
 63505  	// Get character value, increment pointer
 63506  
 63507  LITERAL:
 63508  	if !(forcecase != 0) {
 63509  		goto __180
 63510  	}
 63511  
 63512  	if !(utf != 0 || ucp != 0) {
 63513  		goto __181
 63514  	}
 63515  
 63516  	type2 = Tuint32_t((*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))%DUCD_BLOCK_SIZE])*12)).Fchartype)
 63517  	if !(X_pcre2_ucp_gentype_8[type2] == ucp_L && type2 != func() uint32 {
 63518  		if forcecase > 0 {
 63519  			return ucp_Lu
 63520  		}
 63521  		return ucp_Ll
 63522  	}()) {
 63523  		goto __183
 63524  	}
 63525  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320))) + (*Tucd_record)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8))+uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(*(*Tuint32_t)(unsafe.Pointer(bp + 320)))%DUCD_BLOCK_SIZE])*12)).Fother_case)
 63526  __183:
 63527  	;
 63528  	goto __182
 63529  __181:
 63530  
 63531  	if !(uint32(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dcbits_offset) + uintptr(func() int32 {
 63532  		if forcecase > 0 {
 63533  			return Dcbit_upper
 63534  		}
 63535  		return Dcbit_lower
 63536  	}()) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 320))/Tuint32_t(8)))))&(uint32(1)<<(*(*Tuint32_t)(unsafe.Pointer(bp + 320))%Tuint32_t(8))) == uint32(0)) {
 63537  		goto __184
 63538  	}
 63539  	*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)) = Tuint32_t(*(*Tuint8_t)(unsafe.Pointer((*Tpcre2_code_8)(unsafe.Pointer(code)).Ftables + uintptr(Dfcc_offset) + uintptr(*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */))))))
 63540  __184:
 63541  	;
 63542  __182:
 63543  	;
 63544  	forcecase = forcecasereset
 63545  __180:
 63546  	;
 63547  
 63548  	if !(utf != 0) {
 63549  		goto __185
 63550  	}
 63551  	chlen = X_pcre2_ord2utf_8(tls, *(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)), bp+312)
 63552  	goto __186
 63553  __185:
 63554  
 63555  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 312)) = TPCRE2_UCHAR8(*(*Tuint32_t)(unsafe.Pointer(bp + 320 /* ch */)))
 63556  	chlen = uint32(1)
 63557  __186:
 63558  	;
 63559  	if !(!(overflowed != 0) && lengthleft < Tsize_t(chlen)) {
 63560  		goto __187
 63561  	}
 63562  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63563  		goto __189
 63564  	}
 63565  	goto NOROOM
 63566  __189:
 63567  	;
 63568  	overflowed = DTRUE
 63569  	extra_needed = Tsize_t(chlen) - lengthleft
 63570  	goto __188
 63571  __187:
 63572  	if !(overflowed != 0) {
 63573  		goto __190
 63574  	}
 63575  	extra_needed = extra_needed + Tsize_t(chlen)
 63576  	goto __191
 63577  __190:
 63578  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), bp+312, uint64(chlen*uint32(DPCRE2_CODE_UNIT_WIDTH/8)))
 63579  	buff_offset = buff_offset + Tsize_t(chlen)
 63580  	lengthleft = lengthleft - Tsize_t(chlen)
 63581  __191:
 63582  	;
 63583  __188:
 63584  	;
 63585  
 63586  __157:
 63587  	;
 63588  __69:
 63589  	; // End handling a literal code unit
 63590  	goto __62
 63591  __62:
 63592  	goto __61
 63593  	goto __63
 63594  __63:
 63595  	;
 63596  __55:
 63597  	; // End of loop for scanning the replacement.
 63598  
 63599  	// The replacement has been copied to the output, or its size has been
 63600  	//   remembered. Do the callout if there is one and we have done an actual
 63601  	//   replacement.
 63602  
 63603  	if !(!(overflowed != 0) && mcontext != uintptr(0) && (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout != uintptr(0)) {
 63604  		goto __192
 63605  	}
 63606  
 63607  	(*Tpcre2_substitute_callout_block_8)(unsafe.Pointer(bp + 24 /* &scb */)).Fsubscount = Tuint32_t(subs)
 63608  	*(*Tsize_t)(unsafe.Pointer(bp + 24 + 24 + 1*8)) = buff_offset
 63609  	rc = (*struct {
 63610  		f func(*libc.TLS, uintptr, uintptr) int32
 63611  	})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout})).f(tls, bp+24 /* &scb */, (*Tpcre2_match_context_8)(unsafe.Pointer(mcontext)).Fsubstitute_callout_data)
 63612  
 63613  	// A non-zero return means cancel this substitution. Instead, copy the
 63614  	//     matched string fragment.
 63615  
 63616  	if !(rc != 0) {
 63617  		goto __193
 63618  	}
 63619  
 63620  	newlength = *(*Tsize_t)(unsafe.Pointer(bp + 24 + 24 + 1*8)) - *(*Tsize_t)(unsafe.Pointer(bp + 24 + 24))
 63621  	oldlength = *(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) - *(*Tsize_t)(unsafe.Pointer(ovector))
 63622  
 63623  	buff_offset = buff_offset - newlength
 63624  	lengthleft = lengthleft + newlength
 63625  	if !!(replacement_only != 0) {
 63626  		goto __194
 63627  	}
 63628  	if !(!(overflowed != 0) && lengthleft < oldlength) {
 63629  		goto __195
 63630  	}
 63631  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63632  		goto __197
 63633  	}
 63634  	goto NOROOM
 63635  __197:
 63636  	;
 63637  	overflowed = DTRUE
 63638  	extra_needed = oldlength - lengthleft
 63639  	goto __196
 63640  __195:
 63641  	if !(overflowed != 0) {
 63642  		goto __198
 63643  	}
 63644  	extra_needed = extra_needed + oldlength
 63645  	goto __199
 63646  __198:
 63647  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject+uintptr(*(*Tsize_t)(unsafe.Pointer(ovector))), oldlength*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 63648  	buff_offset = buff_offset + oldlength
 63649  	lengthleft = lengthleft - oldlength
 63650  __199:
 63651  	;
 63652  __196:
 63653  	;
 63654  __194:
 63655  	;
 63656  
 63657  	// A negative return means do not do any more.
 63658  
 63659  	if !(rc < 0) {
 63660  		goto __200
 63661  	}
 63662  	suboptions = suboptions & libc.CplUint32(DPCRE2_SUBSTITUTE_GLOBAL)
 63663  __200:
 63664  	;
 63665  __193:
 63666  	;
 63667  __192:
 63668  	;
 63669  
 63670  	// Save the details of this match. See above for how this data is used. If we
 63671  	//   matched an empty string, do the magic for global matches. Update the start
 63672  	//   offset to point to the rest of the subject string. If we re-used an existing
 63673  	//   match for the first match, switch to the internal match data block.
 63674  
 63675  	*(*Tsize_t)(unsafe.Pointer(bp)) = *(*Tsize_t)(unsafe.Pointer(ovector))
 63676  	*(*Tsize_t)(unsafe.Pointer(bp + 1*8)) = *(*Tsize_t)(unsafe.Pointer(ovector + 1*8))
 63677  	*(*Tsize_t)(unsafe.Pointer(bp + 2*8)) = start_offset
 63678  
 63679  	if *(*Tsize_t)(unsafe.Pointer(ovector)) != *(*Tsize_t)(unsafe.Pointer(ovector + 1*8)) || *(*Tsize_t)(unsafe.Pointer(ovector)) > start_offset {
 63680  		goptions = uint32(0)
 63681  	} else {
 63682  		goptions = DPCRE2_ANCHORED | DPCRE2_NOTEMPTY_ATSTART
 63683  	}
 63684  	start_offset = *(*Tsize_t)(unsafe.Pointer(ovector + 1*8))
 63685  	goto __24
 63686  __24:
 63687  	if suboptions&DPCRE2_SUBSTITUTE_GLOBAL != Tuint32_t(0) {
 63688  		goto __23
 63689  	}
 63690  	goto __25
 63691  __25:
 63692  	; // Repeat "do" loop
 63693  
 63694  	// Copy the rest of the subject unless not required, and terminate the output
 63695  	// with a binary zero.
 63696  
 63697  	if !!(replacement_only != 0) {
 63698  		goto __201
 63699  	}
 63700  
 63701  	fraglength = length - start_offset
 63702  	if !(!(overflowed != 0) && lengthleft < fraglength) {
 63703  		goto __202
 63704  	}
 63705  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63706  		goto __204
 63707  	}
 63708  	goto NOROOM
 63709  __204:
 63710  	;
 63711  	overflowed = DTRUE
 63712  	extra_needed = fraglength - lengthleft
 63713  	goto __203
 63714  __202:
 63715  	if !(overflowed != 0) {
 63716  		goto __205
 63717  	}
 63718  	extra_needed = extra_needed + fraglength
 63719  	goto __206
 63720  __205:
 63721  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), subject+uintptr(start_offset), fraglength*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 63722  	buff_offset = buff_offset + fraglength
 63723  	lengthleft = lengthleft - fraglength
 63724  __206:
 63725  	;
 63726  __203:
 63727  	;
 63728  
 63729  __201:
 63730  	;
 63731  
 63732  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(bp + 312)) = TPCRE2_UCHAR8(0)
 63733  	if !(!(overflowed != 0) && lengthleft < uint64(1)) {
 63734  		goto __207
 63735  	}
 63736  	if !(suboptions&DPCRE2_SUBSTITUTE_OVERFLOW_LENGTH == Tuint32_t(0)) {
 63737  		goto __209
 63738  	}
 63739  	goto NOROOM
 63740  __209:
 63741  	;
 63742  	overflowed = DTRUE
 63743  	extra_needed = uint64(1) - lengthleft
 63744  	goto __208
 63745  __207:
 63746  	if !(overflowed != 0) {
 63747  		goto __210
 63748  	}
 63749  	extra_needed = extra_needed + uint64(1)
 63750  	goto __211
 63751  __210:
 63752  	libc.Xmemcpy(tls, buffer+uintptr(buff_offset), bp+312, uint64(1*(DPCRE2_CODE_UNIT_WIDTH/8)))
 63753  	buff_offset = buff_offset + uint64(1)
 63754  	lengthleft = lengthleft - uint64(1)
 63755  __211:
 63756  	;
 63757  __208:
 63758  	;
 63759  
 63760  	// If overflowed is set it means the PCRE2_SUBSTITUTE_OVERFLOW_LENGTH is set,
 63761  	// and matching has carried on after a full buffer, in order to compute the length
 63762  	// needed. Otherwise, an overflow generates an immediate error return.
 63763  
 63764  	if !(overflowed != 0) {
 63765  		goto __212
 63766  	}
 63767  
 63768  	rc = -48
 63769  	*(*Tsize_t)(unsafe.Pointer(blength)) = buff_length + extra_needed
 63770  	goto __213
 63771  __212:
 63772  
 63773  	rc = subs
 63774  	*(*Tsize_t)(unsafe.Pointer(blength)) = buff_offset - uint64(1)
 63775  __213:
 63776  	;
 63777  
 63778  EXIT:
 63779  	if !(internal_match_data != uintptr(0)) {
 63780  		goto __214
 63781  	}
 63782  	Xpcre2_match_data_free_8(tls, internal_match_data)
 63783  	goto __215
 63784  __214:
 63785  	(*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc = rc
 63786  __215:
 63787  	;
 63788  	return rc
 63789  
 63790  NOROOM:
 63791  	rc = -48
 63792  	goto EXIT
 63793  
 63794  BAD:
 63795  	rc = -35
 63796  	goto PTREXIT
 63797  
 63798  BADESCAPE:
 63799  	rc = -57
 63800  
 63801  PTREXIT:
 63802  	*(*Tsize_t)(unsafe.Pointer(blength)) = Tsize_t((int64(*(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 280))) - int64(replacement)) / 1)
 63803  	goto EXIT
 63804  	return int32(0)
 63805  }
 63806  
 63807  // End of pcre2_substitute.c
 63808  
 63809  // This function is needed only when memmove() is not available.
 63810  
 63811  // End of pcre2_internal.h
 63812  
 63813  // ************************************************
 63814  //
 63815  //   Copy named captured string to given buffer   *
 63816  //
 63817  
 63818  // This function copies a single captured substring into a given buffer,
 63819  // identifying it by name. If the regex permits duplicate names, the first
 63820  // substring that is set is chosen.
 63821  //
 63822  // Arguments:
 63823  //   match_data     points to the match data
 63824  //   stringname     the name of the required substring
 63825  //   buffer         where to put the substring
 63826  //   sizeptr        the size of the buffer, updated to the size of the substring
 63827  //
 63828  // Returns:         if successful: zero
 63829  //                  if not successful, a negative error code:
 63830  //                    (1) an error from nametable_scan()
 63831  //                    (2) an error from copy_bynumber()
 63832  //                    (3) PCRE2_ERROR_UNAVAILABLE: no group is in ovector
 63833  //                    (4) PCRE2_ERROR_UNSET: all named groups in ovector are unset
 63834  
 63835  func Xpcre2_substring_copy_byname_8(tls *libc.TLS, match_data uintptr, stringname TPCRE2_SPTR8, buffer uintptr, sizeptr uintptr) int32 { /* pcre2_substring.c:73:1: */
 63836  	bp := tls.Alloc(16)
 63837  	defer tls.Free(16)
 63838  
 63839  	// var first TPCRE2_SPTR8 at bp, 8
 63840  
 63841  	// var last TPCRE2_SPTR8 at bp+8, 8
 63842  
 63843  	var entry TPCRE2_SPTR8
 63844  	var failrc int32
 63845  	var entrysize int32
 63846  	if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) == PCRE2_MATCHEDBY_DFA_INTERPRETER {
 63847  		return -41
 63848  	}
 63849  	entrysize = Xpcre2_substring_nametable_scan_8(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode, stringname,
 63850  		bp, bp+8)
 63851  	if entrysize < 0 {
 63852  		return entrysize
 63853  	}
 63854  	failrc = -54
 63855  	for entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* first */)); entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* last */)); entry += TPCRE2_SPTR8(entrysize) {
 63856  		var n Tuint32_t = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1))))
 63857  		if n < Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 63858  			if *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(n*Tuint32_t(2))*8)) != libc.CplUint64(uint64(0)) {
 63859  				return Xpcre2_substring_copy_bynumber_8(tls, match_data, n, buffer, sizeptr)
 63860  			}
 63861  			failrc = -55
 63862  		}
 63863  	}
 63864  	return failrc
 63865  }
 63866  
 63867  // ************************************************
 63868  //
 63869  //  Copy numbered captured string to given buffer *
 63870  //
 63871  
 63872  // This function copies a single captured substring into a given buffer,
 63873  // identifying it by number.
 63874  //
 63875  // Arguments:
 63876  //   match_data     points to the match data
 63877  //   stringnumber   the number of the required substring
 63878  //   buffer         where to put the substring
 63879  //   sizeptr        the size of the buffer, updated to the size of the substring
 63880  //
 63881  // Returns:         if successful: 0
 63882  //                  if not successful, a negative error code:
 63883  //                    PCRE2_ERROR_NOMEMORY: buffer too small
 63884  //                    PCRE2_ERROR_NOSUBSTRING: no such substring
 63885  //                    PCRE2_ERROR_UNAVAILABLE: ovector too small
 63886  //                    PCRE2_ERROR_UNSET: substring is not set
 63887  
 63888  func Xpcre2_substring_copy_bynumber_8(tls *libc.TLS, match_data uintptr, stringnumber Tuint32_t, buffer uintptr, sizeptr uintptr) int32 { /* pcre2_substring.c:121:1: */
 63889  	bp := tls.Alloc(8)
 63890  	defer tls.Free(8)
 63891  
 63892  	var rc int32
 63893  	// var size Tsize_t at bp, 8
 63894  
 63895  	rc = Xpcre2_substring_length_bynumber_8(tls, match_data, stringnumber, bp)
 63896  	if rc < 0 {
 63897  		return rc
 63898  	}
 63899  	if *(*Tsize_t)(unsafe.Pointer(bp))+uint64(1) > *(*Tsize_t)(unsafe.Pointer(sizeptr)) {
 63900  		return -48
 63901  	}
 63902  	libc.Xmemcpy(tls, buffer, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject+uintptr(*(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2))*8))),
 63903  		*(*Tsize_t)(unsafe.Pointer(bp))*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 63904  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(buffer + uintptr(*(*Tsize_t)(unsafe.Pointer(bp /* size */))))) = TPCRE2_UCHAR8(0)
 63905  	*(*Tsize_t)(unsafe.Pointer(sizeptr)) = *(*Tsize_t)(unsafe.Pointer(bp /* size */))
 63906  	return 0
 63907  }
 63908  
 63909  // ************************************************
 63910  //
 63911  //          Extract named captured string         *
 63912  //
 63913  
 63914  // This function copies a single captured substring, identified by name, into
 63915  // new memory. If the regex permits duplicate names, the first substring that is
 63916  // set is chosen.
 63917  //
 63918  // Arguments:
 63919  //   match_data     pointer to match_data
 63920  //   stringname     the name of the required substring
 63921  //   stringptr      where to put the pointer to the new memory
 63922  //   sizeptr        where to put the length of the substring
 63923  //
 63924  // Returns:         if successful: zero
 63925  //                  if not successful, a negative value:
 63926  //                    (1) an error from nametable_scan()
 63927  //                    (2) an error from get_bynumber()
 63928  //                    (3) PCRE2_ERROR_UNAVAILABLE: no group is in ovector
 63929  //                    (4) PCRE2_ERROR_UNSET: all named groups in ovector are unset
 63930  
 63931  func Xpcre2_substring_get_byname_8(tls *libc.TLS, match_data uintptr, stringname TPCRE2_SPTR8, stringptr uintptr, sizeptr uintptr) int32 { /* pcre2_substring.c:161:1: */
 63932  	bp := tls.Alloc(16)
 63933  	defer tls.Free(16)
 63934  
 63935  	// var first TPCRE2_SPTR8 at bp, 8
 63936  
 63937  	// var last TPCRE2_SPTR8 at bp+8, 8
 63938  
 63939  	var entry TPCRE2_SPTR8
 63940  	var failrc int32
 63941  	var entrysize int32
 63942  	if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) == PCRE2_MATCHEDBY_DFA_INTERPRETER {
 63943  		return -41
 63944  	}
 63945  	entrysize = Xpcre2_substring_nametable_scan_8(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode, stringname,
 63946  		bp, bp+8)
 63947  	if entrysize < 0 {
 63948  		return entrysize
 63949  	}
 63950  	failrc = -54
 63951  	for entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* first */)); entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* last */)); entry += TPCRE2_SPTR8(entrysize) {
 63952  		var n Tuint32_t = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1))))
 63953  		if n < Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 63954  			if *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(n*Tuint32_t(2))*8)) != libc.CplUint64(uint64(0)) {
 63955  				return Xpcre2_substring_get_bynumber_8(tls, match_data, n, stringptr, sizeptr)
 63956  			}
 63957  			failrc = -55
 63958  		}
 63959  	}
 63960  	return failrc
 63961  }
 63962  
 63963  // ************************************************
 63964  //
 63965  //      Extract captured string to new memory     *
 63966  //
 63967  
 63968  // This function copies a single captured substring into a piece of new
 63969  // memory.
 63970  //
 63971  // Arguments:
 63972  //   match_data     points to match data
 63973  //   stringnumber   the number of the required substring
 63974  //   stringptr      where to put a pointer to the new memory
 63975  //   sizeptr        where to put the size of the substring
 63976  //
 63977  // Returns:         if successful: 0
 63978  //                  if not successful, a negative error code:
 63979  //                    PCRE2_ERROR_NOMEMORY: failed to get memory
 63980  //                    PCRE2_ERROR_NOSUBSTRING: no such substring
 63981  //                    PCRE2_ERROR_UNAVAILABLE: ovector too small
 63982  //                    PCRE2_ERROR_UNSET: substring is not set
 63983  
 63984  func Xpcre2_substring_get_bynumber_8(tls *libc.TLS, match_data uintptr, stringnumber Tuint32_t, stringptr uintptr, sizeptr uintptr) int32 { /* pcre2_substring.c:209:1: */
 63985  	bp := tls.Alloc(8)
 63986  	defer tls.Free(8)
 63987  
 63988  	var rc int32
 63989  	// var size Tsize_t at bp, 8
 63990  
 63991  	var yield uintptr
 63992  	rc = Xpcre2_substring_length_bynumber_8(tls, match_data, stringnumber, bp)
 63993  	if rc < 0 {
 63994  		return rc
 63995  	}
 63996  	yield = X_pcre2_memctl_malloc_8(tls, uint64(unsafe.Sizeof(Tpcre2_memctl{}))+(*(*Tsize_t)(unsafe.Pointer(bp))+uint64(1))*uint64(DPCRE2_CODE_UNIT_WIDTH), match_data)
 63997  	if yield == uintptr(0) {
 63998  		return -48
 63999  	}
 64000  	yield = yield + uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 64001  	libc.Xmemcpy(tls, yield, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject+uintptr(*(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2))*8))),
 64002  		*(*Tsize_t)(unsafe.Pointer(bp))*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 64003  	*(*TPCRE2_UCHAR8)(unsafe.Pointer(yield + uintptr(*(*Tsize_t)(unsafe.Pointer(bp /* size */))))) = TPCRE2_UCHAR8(0)
 64004  	*(*uintptr)(unsafe.Pointer(stringptr)) = yield
 64005  	*(*Tsize_t)(unsafe.Pointer(sizeptr)) = *(*Tsize_t)(unsafe.Pointer(bp /* size */))
 64006  	return 0
 64007  }
 64008  
 64009  // ************************************************
 64010  //
 64011  //       Free memory obtained by get_substring    *
 64012  //
 64013  
 64014  //
 64015  // Argument:     the result of a previous pcre2_substring_get_byxxx()
 64016  // Returns:      nothing
 64017  
 64018  func Xpcre2_substring_free_8(tls *libc.TLS, string uintptr) { /* pcre2_substring.c:241:1: */
 64019  	if string != uintptr(0) {
 64020  		var memctl uintptr = string - uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 64021  		(*struct {
 64022  			f func(*libc.TLS, uintptr, uintptr)
 64023  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 64024  	}
 64025  }
 64026  
 64027  // ************************************************
 64028  //
 64029  //         Get length of a named substring        *
 64030  //
 64031  
 64032  // This function returns the length of a named captured substring. If the regex
 64033  // permits duplicate names, the first substring that is set is chosen.
 64034  //
 64035  // Arguments:
 64036  //   match_data      pointer to match data
 64037  //   stringname      the name of the required substring
 64038  //   sizeptr         where to put the length
 64039  //
 64040  // Returns:          0 if successful, else a negative error number
 64041  
 64042  func Xpcre2_substring_length_byname_8(tls *libc.TLS, match_data uintptr, stringname TPCRE2_SPTR8, sizeptr uintptr) int32 { /* pcre2_substring.c:268:1: */
 64043  	bp := tls.Alloc(16)
 64044  	defer tls.Free(16)
 64045  
 64046  	// var first TPCRE2_SPTR8 at bp, 8
 64047  
 64048  	// var last TPCRE2_SPTR8 at bp+8, 8
 64049  
 64050  	var entry TPCRE2_SPTR8
 64051  	var failrc int32
 64052  	var entrysize int32
 64053  	if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) == PCRE2_MATCHEDBY_DFA_INTERPRETER {
 64054  		return -41
 64055  	}
 64056  	entrysize = Xpcre2_substring_nametable_scan_8(tls, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode, stringname,
 64057  		bp, bp+8)
 64058  	if entrysize < 0 {
 64059  		return entrysize
 64060  	}
 64061  	failrc = -54
 64062  	for entry = *(*TPCRE2_SPTR8)(unsafe.Pointer(bp /* first */)); entry <= *(*TPCRE2_SPTR8)(unsafe.Pointer(bp + 8 /* last */)); entry += TPCRE2_SPTR8(entrysize) {
 64063  		var n Tuint32_t = uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1))))
 64064  		if n < Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 64065  			if *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(n*Tuint32_t(2))*8)) != libc.CplUint64(uint64(0)) {
 64066  				return Xpcre2_substring_length_bynumber_8(tls, match_data, n, sizeptr)
 64067  			}
 64068  			failrc = -55
 64069  		}
 64070  	}
 64071  	return failrc
 64072  }
 64073  
 64074  // ************************************************
 64075  //
 64076  //        Get length of a numbered substring      *
 64077  //
 64078  
 64079  // This function returns the length of a captured substring. If the start is
 64080  // beyond the end (which can happen when \K is used in an assertion), it sets the
 64081  // length to zero.
 64082  //
 64083  // Arguments:
 64084  //   match_data      pointer to match data
 64085  //   stringnumber    the number of the required substring
 64086  //   sizeptr         where to put the length, if not NULL
 64087  //
 64088  // Returns:         if successful: 0
 64089  //                  if not successful, a negative error code:
 64090  //                    PCRE2_ERROR_NOSUBSTRING: no such substring
 64091  //                    PCRE2_ERROR_UNAVAILABLE: ovector is too small
 64092  //                    PCRE2_ERROR_UNSET: substring is not set
 64093  
 64094  func Xpcre2_substring_length_bynumber_8(tls *libc.TLS, match_data uintptr, stringnumber Tuint32_t, sizeptr uintptr) int32 { /* pcre2_substring.c:315:1: */
 64095  	var left Tsize_t
 64096  	var right Tsize_t
 64097  	var count int32 = (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc
 64098  	if count == -2 {
 64099  		if stringnumber > Tuint32_t(0) {
 64100  			return -2
 64101  		}
 64102  		count = 0
 64103  	} else if count < 0 {
 64104  		return count
 64105  	} // Match failed
 64106  
 64107  	if int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fmatchedby) != PCRE2_MATCHEDBY_DFA_INTERPRETER {
 64108  		if stringnumber > Tuint32_t((*Tpcre2_real_code_8)(unsafe.Pointer((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fcode)).Ftop_bracket) {
 64109  			return -49
 64110  		}
 64111  		if stringnumber >= Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 64112  			return -54
 64113  		}
 64114  		if *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2))*8)) == libc.CplUint64(uint64(0)) {
 64115  			return -55
 64116  		}
 64117  	} else {
 64118  		if stringnumber >= Tuint32_t((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount) {
 64119  			return -54
 64120  		}
 64121  		if count != 0 && stringnumber >= Tuint32_t(count) {
 64122  			return -55
 64123  		}
 64124  	}
 64125  
 64126  	left = *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2))*8))
 64127  	right = *(*Tsize_t)(unsafe.Pointer(match_data + 80 + uintptr(stringnumber*Tuint32_t(2)+Tuint32_t(1))*8))
 64128  	if sizeptr != uintptr(0) {
 64129  		*(*Tsize_t)(unsafe.Pointer(sizeptr)) = func() uint64 {
 64130  			if left > right {
 64131  				return uint64(0)
 64132  			}
 64133  			return right - left
 64134  		}()
 64135  	}
 64136  	return 0
 64137  }
 64138  
 64139  // ************************************************
 64140  //
 64141  //    Extract all captured strings to new memory  *
 64142  //
 64143  
 64144  // This function gets one chunk of memory and builds a list of pointers and all
 64145  // the captured substrings in it. A NULL pointer is put on the end of the list.
 64146  // The substrings are zero-terminated, but also, if the final argument is
 64147  // non-NULL, a list of lengths is also returned. This allows binary data to be
 64148  // handled.
 64149  //
 64150  // Arguments:
 64151  //   match_data     points to the match data
 64152  //   listptr        set to point to the list of pointers
 64153  //   lengthsptr     set to point to the list of lengths (may be NULL)
 64154  //
 64155  // Returns:         if successful: 0
 64156  //                  if not successful, a negative error code:
 64157  //                    PCRE2_ERROR_NOMEMORY: failed to get memory,
 64158  //                    or a match failure code
 64159  
 64160  func Xpcre2_substring_list_get_8(tls *libc.TLS, match_data uintptr, listptr uintptr, lengthsptr uintptr) int32 { /* pcre2_substring.c:372:1: */
 64161  	var i int32
 64162  	var count int32
 64163  	var count2 int32
 64164  	var size Tsize_t
 64165  	var lensp uintptr
 64166  	var memp uintptr
 64167  	var listp uintptr
 64168  	var sp uintptr
 64169  	var ovector uintptr
 64170  
 64171  	if libc.AssignInt32(&count, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Frc) < 0 {
 64172  		return count
 64173  	} // Match failed
 64174  	if count == 0 {
 64175  		count = int32((*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Foveccount)
 64176  	} // Ovector too small
 64177  
 64178  	count2 = 2 * count
 64179  	ovector = match_data + 80                                                         /* &.ovector */
 64180  	size = uint64(unsafe.Sizeof(Tpcre2_memctl{})) + uint64(unsafe.Sizeof(uintptr(0))) // For final NULL
 64181  	if lengthsptr != uintptr(0) {
 64182  		size = size + uint64(unsafe.Sizeof(Tsize_t(0)))*uint64(count)
 64183  	} // For lengths
 64184  
 64185  	for i = 0; i < count2; i = i + 2 {
 64186  		size = size + (uint64(unsafe.Sizeof(uintptr(0))) + uint64(1*(DPCRE2_CODE_UNIT_WIDTH/8)))
 64187  		if *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*8)) > *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8)) {
 64188  			size = size + (*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*8))-*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8)))*uint64(DPCRE2_CODE_UNIT_WIDTH/8)
 64189  		}
 64190  	}
 64191  
 64192  	memp = X_pcre2_memctl_malloc_8(tls, size, match_data)
 64193  	if memp == uintptr(0) {
 64194  		return -48
 64195  	}
 64196  
 64197  	*(*uintptr)(unsafe.Pointer(listptr)) = libc.AssignUintptr(&listp, memp+uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{}))))
 64198  	lensp = listp + uintptr(uint64(unsafe.Sizeof(uintptr(0)))*uint64(count+1))
 64199  
 64200  	if lengthsptr == uintptr(0) {
 64201  		sp = lensp
 64202  		lensp = uintptr(0)
 64203  	} else {
 64204  		*(*uintptr)(unsafe.Pointer(lengthsptr)) = lensp
 64205  		sp = lensp + uintptr(uint64(unsafe.Sizeof(Tsize_t(0)))*uint64(count))
 64206  	}
 64207  
 64208  	for i = 0; i < count2; i = i + 2 {
 64209  		if *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*8)) > *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8)) {
 64210  			size = *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i+1)*8)) - *(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8))
 64211  		} else {
 64212  			size = uint64(0)
 64213  		}
 64214  
 64215  		// Size == 0 includes the case when the capture is unset. Avoid adding
 64216  		//   PCRE2_UNSET to match_data->subject because it overflows, even though with
 64217  		//   zero size calling memcpy() is harmless.
 64218  
 64219  		if size != uint64(0) {
 64220  			libc.Xmemcpy(tls, sp, (*Tpcre2_match_data_8)(unsafe.Pointer(match_data)).Fsubject+uintptr(*(*Tsize_t)(unsafe.Pointer(ovector + uintptr(i)*8))), size*uint64(DPCRE2_CODE_UNIT_WIDTH/8))
 64221  		}
 64222  		*(*uintptr)(unsafe.Pointer(libc.PostIncUintptr(&listp, 8))) = sp
 64223  		if lensp != uintptr(0) {
 64224  			*(*Tsize_t)(unsafe.Pointer(libc.PostIncUintptr(&lensp, 8))) = size
 64225  		}
 64226  		sp += uintptr(size)
 64227  		*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&sp, 1))) = TPCRE2_UCHAR8(0)
 64228  	}
 64229  
 64230  	*(*uintptr)(unsafe.Pointer(listp)) = uintptr(0)
 64231  	return 0
 64232  }
 64233  
 64234  // ************************************************
 64235  //
 64236  //   Free memory obtained by substring_list_get   *
 64237  //
 64238  
 64239  //
 64240  // Argument:     the result of a previous pcre2_substring_list_get()
 64241  // Returns:      nothing
 64242  
 64243  func Xpcre2_substring_list_free_8(tls *libc.TLS, list uintptr) { /* pcre2_substring.c:445:1: */
 64244  	if list != uintptr(0) {
 64245  		var memctl uintptr = list - uintptr(uint64(unsafe.Sizeof(Tpcre2_memctl{})))
 64246  		(*struct {
 64247  			f func(*libc.TLS, uintptr, uintptr)
 64248  		})(unsafe.Pointer(&struct{ uintptr }{(*Tpcre2_memctl)(unsafe.Pointer(memctl)).Ffree})).f(tls, memctl, (*Tpcre2_memctl)(unsafe.Pointer(memctl)).Fmemory_data)
 64249  	}
 64250  }
 64251  
 64252  // ************************************************
 64253  //
 64254  //     Find (multiple) entries for named string   *
 64255  //
 64256  
 64257  // This function scans the nametable for a given name, using binary chop. It
 64258  // returns either two pointers to the entries in the table, or, if no pointers are
 64259  // given, the number of a unique group with the given name. If duplicate names are
 64260  // permitted, and the name is not unique, an error is generated.
 64261  //
 64262  // Arguments:
 64263  //   code        the compiled regex
 64264  //   stringname  the name whose entries required
 64265  //   firstptr    where to put the pointer to the first entry
 64266  //   lastptr     where to put the pointer to the last entry
 64267  //
 64268  // Returns:      PCRE2_ERROR_NOSUBSTRING if the name is not found
 64269  //               otherwise, if firstptr and lastptr are NULL:
 64270  //                 a group number for a unique substring
 64271  //                 else PCRE2_ERROR_NOUNIQUESUBSTRING
 64272  //               otherwise:
 64273  //                 the length of each entry, having set firstptr and lastptr
 64274  
 64275  func Xpcre2_substring_nametable_scan_8(tls *libc.TLS, code uintptr, stringname TPCRE2_SPTR8, firstptr uintptr, lastptr uintptr) int32 { /* pcre2_substring.c:480:1: */
 64276  	var bot Tuint16_t = Tuint16_t(0)
 64277  	var top Tuint16_t = (*Tpcre2_code_8)(unsafe.Pointer(code)).Fname_count
 64278  	var entrysize Tuint16_t = (*Tpcre2_code_8)(unsafe.Pointer(code)).Fname_entry_size
 64279  	var nametable TPCRE2_SPTR8 = code + uintptr(uint64(unsafe.Sizeof(Tpcre2_real_code_8{})))
 64280  
 64281  	for int32(top) > int32(bot) {
 64282  		var mid Tuint16_t = Tuint16_t((int32(top) + int32(bot)) / 2)
 64283  		var entry TPCRE2_SPTR8 = nametable + uintptr(int32(entrysize)*int32(mid))
 64284  		var c int32 = X_pcre2_strcmp_8(tls, stringname, entry+uintptr(DIMM2_SIZE))
 64285  		if c == 0 {
 64286  			var first TPCRE2_SPTR8
 64287  			var last TPCRE2_SPTR8
 64288  			var lastentry TPCRE2_SPTR8
 64289  			lastentry = nametable + uintptr(int32(entrysize)*(int32((*Tpcre2_code_8)(unsafe.Pointer(code)).Fname_count)-1))
 64290  			first = libc.AssignUintptr(&last, entry)
 64291  			for first > nametable {
 64292  				if X_pcre2_strcmp_8(tls, stringname, first-uintptr(entrysize)+uintptr(DIMM2_SIZE)) != 0 {
 64293  					break
 64294  				}
 64295  				first -= TPCRE2_SPTR8(entrysize)
 64296  			}
 64297  			for last < lastentry {
 64298  				if X_pcre2_strcmp_8(tls, stringname, last+uintptr(entrysize)+uintptr(DIMM2_SIZE)) != 0 {
 64299  					break
 64300  				}
 64301  				last += TPCRE2_SPTR8(entrysize)
 64302  			}
 64303  			if firstptr == uintptr(0) {
 64304  				if first == last {
 64305  					return int32(uint32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry)))<<8 | int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(entry + 1)))))
 64306  				}
 64307  				return -50
 64308  			}
 64309  			*(*TPCRE2_SPTR8)(unsafe.Pointer(firstptr)) = first
 64310  			*(*TPCRE2_SPTR8)(unsafe.Pointer(lastptr)) = last
 64311  			return int32(entrysize)
 64312  		}
 64313  		if c > 0 {
 64314  			bot = Tuint16_t(int32(mid) + 1)
 64315  		} else {
 64316  			top = mid
 64317  		}
 64318  	}
 64319  
 64320  	return -49
 64321  }
 64322  
 64323  // ************************************************
 64324  //
 64325  //           Find number for named string         *
 64326  //
 64327  
 64328  // This function is a convenience wrapper for pcre2_substring_nametable_scan()
 64329  // when it is known that names are unique. If there are duplicate names, it is not
 64330  // defined which number is returned.
 64331  //
 64332  // Arguments:
 64333  //   code        the compiled regex
 64334  //   stringname  the name whose number is required
 64335  //
 64336  // Returns:      the number of the named parenthesis, or a negative number
 64337  //                 PCRE2_ERROR_NOSUBSTRING if not found
 64338  //                 PCRE2_ERROR_NOUNIQUESUBSTRING if not unique
 64339  
 64340  func Xpcre2_substring_number_from_name_8(tls *libc.TLS, code uintptr, stringname TPCRE2_SPTR8) int32 { /* pcre2_substring.c:541:1: */
 64341  	return Xpcre2_substring_nametable_scan_8(tls, code, stringname, uintptr(0), uintptr(0))
 64342  }
 64343  
 64344  // End of pcre2_substring.c
 64345  
 64346  // This function is needed only when memmove() is not available.
 64347  
 64348  // End of pcre2_internal.h
 64349  
 64350  // Table of sizes for the fixed-length opcodes. It's defined in a macro so that
 64351  // the definition is next to the definition of the opcodes in pcre2_internal.h.
 64352  // This is mode-dependent, so it is skipped when this file is included by
 64353  // pcre2test.
 64354  
 64355  var X_pcre2_OP_lengths_8 = [168]Tuint8_t{Tuint8_t(1) /* End                                    */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* \A, \G, \K, \B, \b                     */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* \D, \d, \S, \s, \W, \w                 */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* Any, AllAny, Anybyte                   */, Tuint8_t(3), Tuint8_t(3) /* \P, \p                                 */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* \R, \H, \h, \V, \v                     */, Tuint8_t(1) /* \X                                     */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* \Z, \z, $, $M ^, ^M                    */, Tuint8_t(2) /* Char  - the minimum length             */, Tuint8_t(2) /* Chari  - the minimum length            */, Tuint8_t(2) /* not                                    */, Tuint8_t(2) /* noti                                   */ /* Positive single-char repeats                             ** These are */, Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* *, *?, +, +?, ?, ??       ** minima in */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* *I, *?I, +I, +?I, ?I, ??I ** UTF-8     */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* NOT *, *?, +, +?, ?, ??                */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* NOT *I, *?I, +I, +?I, ?I, ??I          */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2) /* Type *, *?, +, +?, ?, ??               */, Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2 + DIMM2_SIZE), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* *, *?, +, +?, ?, ??                    */, Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1 + 2*DIMM2_SIZE), uint8(uint64(1) + uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))), uint8(uint64(1) + uint64(32)/uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0)))), Tuint8_t(0) /* XCLASS - variable length               */, Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + 2*DLINK_SIZE + 1), Tuint8_t(0) /* CALLOUT_STR - variable length          */, Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE + DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE + DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DLINK_SIZE + DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE + DIMM2_SIZE), Tuint8_t(1 + DLINK_SIZE), Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1 + 2*DIMM2_SIZE), Tuint8_t(1), Tuint8_t(1) /* FALSE, TRUE                            */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* BRAZERO, BRAMINZERO, BRAPOSZERO        */, Tuint8_t(3), Tuint8_t(1), Tuint8_t(3) /* MARK, PRUNE, PRUNE_ARG                 */, Tuint8_t(1), Tuint8_t(3) /* SKIP, SKIP_ARG                         */, Tuint8_t(1), Tuint8_t(3) /* THEN, THEN_ARG                         */, Tuint8_t(1), Tuint8_t(3) /* COMMIT, COMMIT_ARG                     */, Tuint8_t(1), Tuint8_t(1), Tuint8_t(1) /* FAIL, ACCEPT, ASSERT_ACCEPT            */, Tuint8_t(1 + DIMM2_SIZE), Tuint8_t(1) /* CLOSE, SKIPZERO                        */, Tuint8_t(1)} /* pcre2_tables.c:60:15 */
 64356  
 64357  // Tables of horizontal and vertical whitespace characters, suitable for
 64358  // adding to classes.
 64359  
 64360  var X_pcre2_hspace_list_8 = [20]Tuint32_t{Tuint32_t('\011'), Tuint32_t('\040'), Tuint32_t(uint8('\xa0')), Tuint32_t(0x1680), Tuint32_t(0x180e), Tuint32_t(0x2000), Tuint32_t(0x2001), Tuint32_t(0x2002), Tuint32_t(0x2003), Tuint32_t(0x2004), Tuint32_t(0x2005), Tuint32_t(0x2006), Tuint32_t(0x2007), Tuint32_t(0x2008), Tuint32_t(0x2009), Tuint32_t(0x200A), Tuint32_t(0x202f), Tuint32_t(0x205f), Tuint32_t(0x3000), DNOTACHAR} /* pcre2_tables.c:66:16 */
 64361  var X_pcre2_vspace_list_8 = [8]Tuint32_t{Tuint32_t('\012'), Tuint32_t('\013'), Tuint32_t('\014'), Tuint32_t('\015'), Tuint32_t(uint8('\x85')), Tuint32_t(0x2028), Tuint32_t(0x2029), DNOTACHAR}                                                                                                                                                                                                                                      /* pcre2_tables.c:67:16 */
 64362  
 64363  // These tables are the pairs of delimiters that are valid for callout string
 64364  // arguments. For each starting delimiter there must be a matching ending
 64365  // delimiter, which in fact is different only for bracket-like delimiters.
 64366  
 64367  var X_pcre2_callout_start_delims_8 = [9]Tuint32_t{
 64368  	Tuint32_t('\140'), Tuint32_t('\047'), Tuint32_t('\042'),
 64369  	Tuint32_t('\136'), Tuint32_t('\045'), Tuint32_t('\043'),
 64370  	Tuint32_t('\044'), Tuint32_t('\173'), Tuint32_t(0)} /* pcre2_tables.c:73:16 */
 64371  
 64372  var X_pcre2_callout_end_delims_8 = [9]Tuint32_t{
 64373  	Tuint32_t('\140'), Tuint32_t('\047'), Tuint32_t('\042'),
 64374  	Tuint32_t('\136'), Tuint32_t('\045'), Tuint32_t('\043'),
 64375  	Tuint32_t('\044'), Tuint32_t('\175'), Tuint32_t(0)} /* pcre2_tables.c:78:16 */
 64376  
 64377  // ************************************************
 64378  //
 64379  //           Tables for UTF-8 support             *
 64380  //
 64381  
 64382  // These tables are required by pcre2test in 16- or 32-bit mode, as well
 64383  // as for the library in 8-bit mode, because pcre2test uses UTF-8 internally for
 64384  // handling wide characters.
 64385  
 64386  // These are the breakpoints for different numbers of bytes in a UTF-8
 64387  // character.
 64388  
 64389  var X_pcre2_utf8_table1 = [6]int32{0x7f, 0x7ff, 0xffff, 0x1fffff, 0x3ffffff, 0x7fffffff} /* pcre2_tables.c:100:11 */
 64390  
 64391  var X_pcre2_utf8_table1_size int32 = int32(uint64(unsafe.Sizeof(X_pcre2_utf8_table1)) / uint64(unsafe.Sizeof(int32(0)))) /* pcre2_tables.c:103:11 */
 64392  
 64393  // These are the indicator bits and the mask for the data bits to set in the
 64394  // first byte of a character, indexed by the number of additional bytes.
 64395  
 64396  var X_pcre2_utf8_table2 = [6]int32{0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc}    /* pcre2_tables.c:108:11 */
 64397  var X_pcre2_utf8_table3 = [6]int32{0xff, 0x1f, 0x0f, 0x07, 0x03, 0x01} /* pcre2_tables.c:109:11 */
 64398  
 64399  // Table of the number of extra bytes, indexed by the first byte masked with
 64400  // 0x3f. The highest number for a valid UTF-8 first byte is in fact 0x3d.
 64401  
 64402  var X_pcre2_utf8_table4 = [64]Tuint8_t{
 64403  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1),
 64404  	Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1), Tuint8_t(1),
 64405  	Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2), Tuint8_t(2),
 64406  	Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(3), Tuint8_t(4), Tuint8_t(4), Tuint8_t(4), Tuint8_t(4), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5), Tuint8_t(5)} /* pcre2_tables.c:114:15 */
 64407  
 64408  // Tables concerned with Unicode properties are relevant only when Unicode
 64409  // support is enabled. See also the pcre2_ucptables.c file, which is generated by
 64410  // a Python script from Unicode data files.
 64411  
 64412  // Table to translate from particular type value to the general value.
 64413  
 64414  var X_pcre2_ucp_gentype_8 = [30]Tuint32_t{
 64415  	ucp_C, ucp_C, ucp_C, ucp_C, ucp_C, // Cc, Cf, Cn, Co, Cs
 64416  	ucp_L, ucp_L, ucp_L, ucp_L, ucp_L, // Ll, Lu, Lm, Lo, Lt
 64417  	ucp_M, ucp_M, ucp_M, // Mc, Me, Mn
 64418  	ucp_N, ucp_N, ucp_N, // Nd, Nl, No
 64419  	ucp_P, ucp_P, ucp_P, ucp_P, ucp_P, // Pc, Pd, Pe, Pf, Pi
 64420  	ucp_P, ucp_P, // Ps, Po
 64421  	ucp_S, ucp_S, ucp_S, ucp_S, // Sc, Sk, Sm, So
 64422  	ucp_Z, ucp_Z, ucp_Z, // Zl, Zp, Zs
 64423  } /* pcre2_tables.c:130:16 */
 64424  
 64425  // This table encodes the rules for finding the end of an extended grapheme
 64426  // cluster. Every code point has a grapheme break property which is one of the
 64427  // ucp_gbXX values defined in pcre2_ucp.h. These changed between Unicode versions
 64428  // 10 and 11. The 2-dimensional table is indexed by the properties of two adjacent
 64429  // code points. The left property selects a word from the table, and the right
 64430  // property selects a bit from that word like this:
 64431  //
 64432  //   PRIV(ucp_gbtable)[left-property] & (1u << right-property)
 64433  //
 64434  // The value is non-zero if a grapheme break is NOT permitted between the relevant
 64435  // two code points. The breaking rules are as follows:
 64436  //
 64437  // 1. Break at the start and end of text (pretty obviously).
 64438  //
 64439  // 2. Do not break between a CR and LF; otherwise, break before and after
 64440  //    controls.
 64441  //
 64442  // 3. Do not break Hangul syllable sequences, the rules for which are:
 64443  //
 64444  //     L may be followed by L, V, LV or LVT
 64445  //     LV or V may be followed by V or T
 64446  //     LVT or T may be followed by T
 64447  //
 64448  // 4. Do not break before extending characters or zero-width-joiner (ZWJ).
 64449  //
 64450  // The following rules are only for extended grapheme clusters (but that's what we
 64451  // are implementing).
 64452  //
 64453  // 5. Do not break before SpacingMarks.
 64454  //
 64455  // 6. Do not break after Prepend characters.
 64456  //
 64457  // 7. Do not break within emoji modifier sequences or emoji zwj sequences. That
 64458  //    is, do not break between characters with the Extended_Pictographic property.
 64459  //    Extend and ZWJ characters are allowed between the characters; this cannot be
 64460  //    represented in this table, the code has to deal with it.
 64461  //
 64462  // 8. Do not break within emoji flag sequences. That is, do not break between
 64463  //    regional indicator (RI) symbols if there are an odd number of RI characters
 64464  //    before the break point. This table encodes "join RI characters"; the code
 64465  //    has to deal with checking for previous adjoining RIs.
 64466  //
 64467  // 9. Otherwise, break everywhere.
 64468  
 64469  var X_pcre2_ucp_gbtable_8 = [15]Tuint32_t{
 64470  	uint32(1) << ucp_gbLF,
 64471  	Tuint32_t(0), //  1 LF
 64472  	Tuint32_t(0), //  2 Control
 64473  	Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ),
 64474  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbPrepend | uint32(1)<<ucp_gbL | uint32(1)<<ucp_gbV | uint32(1)<<ucp_gbT | uint32(1)<<ucp_gbLV | uint32(1)<<ucp_gbLVT | uint32(1)<<ucp_gbOther | uint32(1)<<ucp_gbRegional_Indicator,
 64475  	Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ),
 64476  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbL | uint32(1)<<ucp_gbV | uint32(1)<<ucp_gbLV | uint32(1)<<ucp_gbLVT,
 64477  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbV | uint32(1)<<ucp_gbT,
 64478  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbT,
 64479  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbV | uint32(1)<<ucp_gbT,
 64480  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbT,
 64481  	uint32(1) << ucp_gbRegional_Indicator,
 64482  	Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ),
 64483  	Tuint32_t(int32(1)<<ucp_gbExtend | int32(1)<<ucp_gbSpacingMark | int32(1)<<ucp_gbZWJ),
 64484  	uint32(int32(1)<<ucp_gbExtend|int32(1)<<ucp_gbSpacingMark|int32(1)<<ucp_gbZWJ) | uint32(1)<<ucp_gbExtended_Pictographic,
 64485  } /* pcre2_tables.c:188:16 */
 64486  
 64487  // Finally, include the tables that are auto-generated from the Unicode data
 64488  // files.
 64489  
 64490  // ************************************************
 64491  //
 64492  //      Perl-Compatible Regular Expressions       *
 64493  //
 64494  
 64495  // PCRE is a library of functions to support regular expressions whose syntax
 64496  // and semantics are as close as possible to those of the Perl 5 language.
 64497  //
 64498  //                        Written by Philip Hazel
 64499  //      Original API code Copyright (c) 1997-2012 University of Cambridge
 64500  //           New API code Copyright (c) 2016-2022 University of Cambridge
 64501  //
 64502  // This module is auto-generated from Unicode data files. DO NOT EDIT MANUALLY!
 64503  // Instead, modify the maint/GenerateUcpTables.py script and run it to generate
 64504  // a new version of this code.
 64505  //
 64506  // -----------------------------------------------------------------------------
 64507  // Redistribution and use in source and binary forms, with or without
 64508  // modification, are permitted provided that the following conditions are met:
 64509  //
 64510  //     * Redistributions of source code must retain the above copyright notice,
 64511  //       this list of conditions and the following disclaimer.
 64512  //
 64513  //     * Redistributions in binary form must reproduce the above copyright
 64514  //       notice, this list of conditions and the following disclaimer in the
 64515  //       documentation and/or other materials provided with the distribution.
 64516  //
 64517  //     * Neither the name of the University of Cambridge nor the names of its
 64518  //       contributors may be used to endorse or promote products derived from
 64519  //       this software without specific prior written permission.
 64520  //
 64521  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 64522  // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 64523  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 64524  // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 64525  // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 64526  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 64527  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 64528  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 64529  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 64530  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 64531  // POSSIBILITY OF SUCH DAMAGE.
 64532  // -----------------------------------------------------------------------------
 64533  
 64534  // The PRIV(utt)[] table below translates Unicode property names into type and
 64535  // code values. It is searched by binary chop, so must be in collating sequence of
 64536  // name. Originally, the table contained pointers to the name strings in the first
 64537  // field of each entry. However, that leads to a large number of relocations when
 64538  // a shared library is dynamically loaded. A significant reduction is made by
 64539  // putting all the names into a single, large string and using offsets instead.
 64540  // All letters are lower cased, and underscores are removed, in accordance with
 64541  // the "loose matching" rules that Unicode advises and Perl uses.
 64542  
 64543  var X_pcre2_utt_names_8 = *(*[3569]uint8)(unsafe.Pointer(ts + 7683)) /* pcre2_ucptables.c:543:12 */
 64544  
 64545  var X_pcre2_utt_8 = [486]Tucp_type_table{
 64546  	{Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Adlam},
 64547  	{Fname_offset: Tuint16_t(6), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Adlam},
 64548  	{Fname_offset: Tuint16_t(11), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Caucasian_Albanian},
 64549  	{Fname_offset: Tuint16_t(16), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ASCII_Hex_Digit},
 64550  	{Fname_offset: Tuint16_t(21), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ahom},
 64551  	{Fname_offset: Tuint16_t(26), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Alphabetic},
 64552  	{Fname_offset: Tuint16_t(32), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Alphabetic},
 64553  	{Fname_offset: Tuint16_t(43), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Anatolian_Hieroglyphs},
 64554  	{Fname_offset: Tuint16_t(64)},
 64555  	{Fname_offset: Tuint16_t(68), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Arabic},
 64556  	{Fname_offset: Tuint16_t(73), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Arabic},
 64557  	{Fname_offset: Tuint16_t(80), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Armenian},
 64558  	{Fname_offset: Tuint16_t(89), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Imperial_Aramaic},
 64559  	{Fname_offset: Tuint16_t(94), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Armenian},
 64560  	{Fname_offset: Tuint16_t(99), Ftype: Tuint16_t(DPT_BOOL)},
 64561  	{Fname_offset: Tuint16_t(105), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ASCII_Hex_Digit},
 64562  	{Fname_offset: Tuint16_t(119), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Avestan},
 64563  	{Fname_offset: Tuint16_t(127), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Avestan},
 64564  	{Fname_offset: Tuint16_t(132), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Balinese},
 64565  	{Fname_offset: Tuint16_t(137), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Balinese},
 64566  	{Fname_offset: Tuint16_t(146), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bamum},
 64567  	{Fname_offset: Tuint16_t(151), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bamum},
 64568  	{Fname_offset: Tuint16_t(157), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bassa_Vah},
 64569  	{Fname_offset: Tuint16_t(162), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bassa_Vah},
 64570  	{Fname_offset: Tuint16_t(171), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Batak},
 64571  	{Fname_offset: Tuint16_t(177), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Batak},
 64572  	{Fname_offset: Tuint16_t(182), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bengali},
 64573  	{Fname_offset: Tuint16_t(187), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bengali},
 64574  	{Fname_offset: Tuint16_t(195), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bhaiksuki},
 64575  	{Fname_offset: Tuint16_t(205), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Bhaiksuki},
 64576  	{Fname_offset: Tuint16_t(210), Ftype: Tuint16_t(DPT_BIDICL)},
 64577  	{Fname_offset: Tuint16_t(217), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiAN},
 64578  	{Fname_offset: Tuint16_t(224), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiB},
 64579  	{Fname_offset: Tuint16_t(230), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiBN},
 64580  	{Fname_offset: Tuint16_t(237), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Control},
 64581  	{Fname_offset: Tuint16_t(243), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Control},
 64582  	{Fname_offset: Tuint16_t(255), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiCS},
 64583  	{Fname_offset: Tuint16_t(262), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiEN},
 64584  	{Fname_offset: Tuint16_t(269), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiES},
 64585  	{Fname_offset: Tuint16_t(276), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiET},
 64586  	{Fname_offset: Tuint16_t(283), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiFSI},
 64587  	{Fname_offset: Tuint16_t(291), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiL},
 64588  	{Fname_offset: Tuint16_t(297), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiLRE},
 64589  	{Fname_offset: Tuint16_t(305), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiLRI},
 64590  	{Fname_offset: Tuint16_t(313), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiLRO},
 64591  	{Fname_offset: Tuint16_t(321), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Mirrored},
 64592  	{Fname_offset: Tuint16_t(327), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Bidi_Mirrored},
 64593  	{Fname_offset: Tuint16_t(340), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiNSM},
 64594  	{Fname_offset: Tuint16_t(348), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiON},
 64595  	{Fname_offset: Tuint16_t(355), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiPDF},
 64596  	{Fname_offset: Tuint16_t(363), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiPDI},
 64597  	{Fname_offset: Tuint16_t(371), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiR},
 64598  	{Fname_offset: Tuint16_t(377), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiRLE},
 64599  	{Fname_offset: Tuint16_t(385), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiRLI},
 64600  	{Fname_offset: Tuint16_t(393), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiRLO},
 64601  	{Fname_offset: Tuint16_t(401), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiS},
 64602  	{Fname_offset: Tuint16_t(407), Ftype: Tuint16_t(DPT_BIDICL), Fvalue: ucp_bidiWS},
 64603  	{Fname_offset: Tuint16_t(414), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bopomofo},
 64604  	{Fname_offset: Tuint16_t(419), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Bopomofo},
 64605  	{Fname_offset: Tuint16_t(428), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Brahmi},
 64606  	{Fname_offset: Tuint16_t(433), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Brahmi},
 64607  	{Fname_offset: Tuint16_t(440), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Braille},
 64608  	{Fname_offset: Tuint16_t(445), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Braille},
 64609  	{Fname_offset: Tuint16_t(453), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buginese},
 64610  	{Fname_offset: Tuint16_t(458), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buginese},
 64611  	{Fname_offset: Tuint16_t(467), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buhid},
 64612  	{Fname_offset: Tuint16_t(472), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Buhid},
 64613  	{Fname_offset: Tuint16_t(478), Ftype: Tuint16_t(DPT_GC)},
 64614  	{Fname_offset: Tuint16_t(480), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Chakma},
 64615  	{Fname_offset: Tuint16_t(485), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Canadian_Aboriginal},
 64616  	{Fname_offset: Tuint16_t(504), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Canadian_Aboriginal},
 64617  	{Fname_offset: Tuint16_t(509), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Carian},
 64618  	{Fname_offset: Tuint16_t(514), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Carian},
 64619  	{Fname_offset: Tuint16_t(521), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Cased},
 64620  	{Fname_offset: Tuint16_t(527), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Case_Ignorable},
 64621  	{Fname_offset: Tuint16_t(541), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Caucasian_Albanian},
 64622  	{Fname_offset: Tuint16_t(559), Ftype: Tuint16_t(DPT_PC)},
 64623  	{Fname_offset: Tuint16_t(562), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Cf},
 64624  	{Fname_offset: Tuint16_t(565), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Chakma},
 64625  	{Fname_offset: Tuint16_t(572), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cham},
 64626  	{Fname_offset: Tuint16_t(577), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casefolded},
 64627  	{Fname_offset: Tuint16_t(599), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casemapped},
 64628  	{Fname_offset: Tuint16_t(621), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Lowercased},
 64629  	{Fname_offset: Tuint16_t(643), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Titlecased},
 64630  	{Fname_offset: Tuint16_t(665), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Uppercased},
 64631  	{Fname_offset: Tuint16_t(687), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cherokee},
 64632  	{Fname_offset: Tuint16_t(692), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cherokee},
 64633  	{Fname_offset: Tuint16_t(701), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Chorasmian},
 64634  	{Fname_offset: Tuint16_t(712), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Chorasmian},
 64635  	{Fname_offset: Tuint16_t(717), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Case_Ignorable},
 64636  	{Fname_offset: Tuint16_t(720), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Cn},
 64637  	{Fname_offset: Tuint16_t(723), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Co},
 64638  	{Fname_offset: Tuint16_t(726), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Common},
 64639  	{Fname_offset: Tuint16_t(733), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Coptic},
 64640  	{Fname_offset: Tuint16_t(738), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Coptic},
 64641  	{Fname_offset: Tuint16_t(745), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypro_Minoan},
 64642  	{Fname_offset: Tuint16_t(750), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypriot},
 64643  	{Fname_offset: Tuint16_t(755), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Cs},
 64644  	{Fname_offset: Tuint16_t(758), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cuneiform},
 64645  	{Fname_offset: Tuint16_t(768), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casefolded},
 64646  	{Fname_offset: Tuint16_t(773), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Casemapped},
 64647  	{Fname_offset: Tuint16_t(778), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Lowercased},
 64648  	{Fname_offset: Tuint16_t(782), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Titlecased},
 64649  	{Fname_offset: Tuint16_t(786), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Changes_When_Uppercased},
 64650  	{Fname_offset: Tuint16_t(790), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypriot},
 64651  	{Fname_offset: Tuint16_t(798), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cypro_Minoan},
 64652  	{Fname_offset: Tuint16_t(810), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cyrillic},
 64653  	{Fname_offset: Tuint16_t(819), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Cyrillic},
 64654  	{Fname_offset: Tuint16_t(824), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Dash},
 64655  	{Fname_offset: Tuint16_t(829), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Default_Ignorable_Code_Point},
 64656  	{Fname_offset: Tuint16_t(855), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Deprecated},
 64657  	{Fname_offset: Tuint16_t(859), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Deprecated},
 64658  	{Fname_offset: Tuint16_t(870), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Deseret},
 64659  	{Fname_offset: Tuint16_t(878), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Devanagari},
 64660  	{Fname_offset: Tuint16_t(883), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Devanagari},
 64661  	{Fname_offset: Tuint16_t(894), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Default_Ignorable_Code_Point},
 64662  	{Fname_offset: Tuint16_t(897), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Diacritic},
 64663  	{Fname_offset: Tuint16_t(901), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Diacritic},
 64664  	{Fname_offset: Tuint16_t(911), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Dives_Akuru},
 64665  	{Fname_offset: Tuint16_t(916), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Dives_Akuru},
 64666  	{Fname_offset: Tuint16_t(927), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Dogra},
 64667  	{Fname_offset: Tuint16_t(932), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Dogra},
 64668  	{Fname_offset: Tuint16_t(938), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Deseret},
 64669  	{Fname_offset: Tuint16_t(943), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Duployan},
 64670  	{Fname_offset: Tuint16_t(948), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Duployan},
 64671  	{Fname_offset: Tuint16_t(957), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier_Base},
 64672  	{Fname_offset: Tuint16_t(963), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Component},
 64673  	{Fname_offset: Tuint16_t(969), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Egyptian_Hieroglyphs},
 64674  	{Fname_offset: Tuint16_t(974), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Egyptian_Hieroglyphs},
 64675  	{Fname_offset: Tuint16_t(994), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elbasan},
 64676  	{Fname_offset: Tuint16_t(999), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elbasan},
 64677  	{Fname_offset: Tuint16_t(1007), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elymaic},
 64678  	{Fname_offset: Tuint16_t(1012), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Elymaic},
 64679  	{Fname_offset: Tuint16_t(1020), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier},
 64680  	{Fname_offset: Tuint16_t(1025), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji},
 64681  	{Fname_offset: Tuint16_t(1031), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Component},
 64682  	{Fname_offset: Tuint16_t(1046), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier},
 64683  	{Fname_offset: Tuint16_t(1060), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Modifier_Base},
 64684  	{Fname_offset: Tuint16_t(1078), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Presentation},
 64685  	{Fname_offset: Tuint16_t(1096), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Emoji_Presentation},
 64686  	{Fname_offset: Tuint16_t(1102), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ethiopic},
 64687  	{Fname_offset: Tuint16_t(1107), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ethiopic},
 64688  	{Fname_offset: Tuint16_t(1116), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extender},
 64689  	{Fname_offset: Tuint16_t(1120), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extended_Pictographic},
 64690  	{Fname_offset: Tuint16_t(1141), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extender},
 64691  	{Fname_offset: Tuint16_t(1150), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Extended_Pictographic},
 64692  	{Fname_offset: Tuint16_t(1158), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Georgian},
 64693  	{Fname_offset: Tuint16_t(1163), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Georgian},
 64694  	{Fname_offset: Tuint16_t(1172), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Glagolitic},
 64695  	{Fname_offset: Tuint16_t(1177), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Glagolitic},
 64696  	{Fname_offset: Tuint16_t(1188), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gunjala_Gondi},
 64697  	{Fname_offset: Tuint16_t(1193), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Masaram_Gondi},
 64698  	{Fname_offset: Tuint16_t(1198), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Gothic},
 64699  	{Fname_offset: Tuint16_t(1203), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Gothic},
 64700  	{Fname_offset: Tuint16_t(1210), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Grantha},
 64701  	{Fname_offset: Tuint16_t(1215), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Grantha},
 64702  	{Fname_offset: Tuint16_t(1223), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Base},
 64703  	{Fname_offset: Tuint16_t(1236), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Extend},
 64704  	{Fname_offset: Tuint16_t(1251), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Link},
 64705  	{Fname_offset: Tuint16_t(1264), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Base},
 64706  	{Fname_offset: Tuint16_t(1271), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Greek},
 64707  	{Fname_offset: Tuint16_t(1277), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Greek},
 64708  	{Fname_offset: Tuint16_t(1282), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Extend},
 64709  	{Fname_offset: Tuint16_t(1288), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Grapheme_Link},
 64710  	{Fname_offset: Tuint16_t(1295), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gujarati},
 64711  	{Fname_offset: Tuint16_t(1304), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gujarati},
 64712  	{Fname_offset: Tuint16_t(1309), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gunjala_Gondi},
 64713  	{Fname_offset: Tuint16_t(1322), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gurmukhi},
 64714  	{Fname_offset: Tuint16_t(1331), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Gurmukhi},
 64715  	{Fname_offset: Tuint16_t(1336), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Han},
 64716  	{Fname_offset: Tuint16_t(1340), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hangul},
 64717  	{Fname_offset: Tuint16_t(1345), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hangul},
 64718  	{Fname_offset: Tuint16_t(1352), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Han},
 64719  	{Fname_offset: Tuint16_t(1357), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanifi_Rohingya},
 64720  	{Fname_offset: Tuint16_t(1372), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanunoo},
 64721  	{Fname_offset: Tuint16_t(1377), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanunoo},
 64722  	{Fname_offset: Tuint16_t(1385), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hatran},
 64723  	{Fname_offset: Tuint16_t(1390), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hatran},
 64724  	{Fname_offset: Tuint16_t(1397), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hebrew},
 64725  	{Fname_offset: Tuint16_t(1402), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Hebrew},
 64726  	{Fname_offset: Tuint16_t(1409), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Hex_Digit},
 64727  	{Fname_offset: Tuint16_t(1413), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Hex_Digit},
 64728  	{Fname_offset: Tuint16_t(1422), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hiragana},
 64729  	{Fname_offset: Tuint16_t(1427), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hiragana},
 64730  	{Fname_offset: Tuint16_t(1436), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Anatolian_Hieroglyphs},
 64731  	{Fname_offset: Tuint16_t(1441), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pahawh_Hmong},
 64732  	{Fname_offset: Tuint16_t(1446), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nyiakeng_Puachue_Hmong},
 64733  	{Fname_offset: Tuint16_t(1451), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Hungarian},
 64734  	{Fname_offset: Tuint16_t(1456), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Continue},
 64735  	{Fname_offset: Tuint16_t(1460), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Continue},
 64736  	{Fname_offset: Tuint16_t(1471), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Ideographic},
 64737  	{Fname_offset: Tuint16_t(1476), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Ideographic},
 64738  	{Fname_offset: Tuint16_t(1488), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Start},
 64739  	{Fname_offset: Tuint16_t(1492), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Binary_Operator},
 64740  	{Fname_offset: Tuint16_t(1497), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Binary_Operator},
 64741  	{Fname_offset: Tuint16_t(1515), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Trinary_Operator},
 64742  	{Fname_offset: Tuint16_t(1520), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_ID_Start},
 64743  	{Fname_offset: Tuint16_t(1528), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_IDS_Trinary_Operator},
 64744  	{Fname_offset: Tuint16_t(1547), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Imperial_Aramaic},
 64745  	{Fname_offset: Tuint16_t(1563), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inherited},
 64746  	{Fname_offset: Tuint16_t(1573), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Pahlavi},
 64747  	{Fname_offset: Tuint16_t(1594), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Parthian},
 64748  	{Fname_offset: Tuint16_t(1616), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Italic},
 64749  	{Fname_offset: Tuint16_t(1621), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Javanese},
 64750  	{Fname_offset: Tuint16_t(1626), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Javanese},
 64751  	{Fname_offset: Tuint16_t(1635), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Join_Control},
 64752  	{Fname_offset: Tuint16_t(1641), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Join_Control},
 64753  	{Fname_offset: Tuint16_t(1653), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kaithi},
 64754  	{Fname_offset: Tuint16_t(1660), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kayah_Li},
 64755  	{Fname_offset: Tuint16_t(1665), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Katakana},
 64756  	{Fname_offset: Tuint16_t(1670), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kannada},
 64757  	{Fname_offset: Tuint16_t(1678), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Katakana},
 64758  	{Fname_offset: Tuint16_t(1687), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kayah_Li},
 64759  	{Fname_offset: Tuint16_t(1695), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Kharoshthi},
 64760  	{Fname_offset: Tuint16_t(1700), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Kharoshthi},
 64761  	{Fname_offset: Tuint16_t(1711), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khitan_Small_Script},
 64762  	{Fname_offset: Tuint16_t(1729), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khmer},
 64763  	{Fname_offset: Tuint16_t(1735), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khmer},
 64764  	{Fname_offset: Tuint16_t(1740), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khojki},
 64765  	{Fname_offset: Tuint16_t(1745), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khojki},
 64766  	{Fname_offset: Tuint16_t(1752), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khudawadi},
 64767  	{Fname_offset: Tuint16_t(1762), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Khitan_Small_Script},
 64768  	{Fname_offset: Tuint16_t(1767), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kannada},
 64769  	{Fname_offset: Tuint16_t(1772), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Kaithi},
 64770  	{Fname_offset: Tuint16_t(1777), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_L},
 64771  	{Fname_offset: Tuint16_t(1779), Ftype: Tuint16_t(DPT_LAMP)},
 64772  	{Fname_offset: Tuint16_t(1782), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Tham},
 64773  	{Fname_offset: Tuint16_t(1787), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lao},
 64774  	{Fname_offset: Tuint16_t(1791), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lao},
 64775  	{Fname_offset: Tuint16_t(1796), Ftype: Tuint16_t(DPT_SCX)},
 64776  	{Fname_offset: Tuint16_t(1802), Ftype: Tuint16_t(DPT_SCX)},
 64777  	{Fname_offset: Tuint16_t(1807), Ftype: Tuint16_t(DPT_LAMP)},
 64778  	{Fname_offset: Tuint16_t(1810), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lepcha},
 64779  	{Fname_offset: Tuint16_t(1815), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lepcha},
 64780  	{Fname_offset: Tuint16_t(1822), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Limbu},
 64781  	{Fname_offset: Tuint16_t(1827), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Limbu},
 64782  	{Fname_offset: Tuint16_t(1833), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_A},
 64783  	{Fname_offset: Tuint16_t(1838), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_B},
 64784  	{Fname_offset: Tuint16_t(1843), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_A},
 64785  	{Fname_offset: Tuint16_t(1851), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Linear_B},
 64786  	{Fname_offset: Tuint16_t(1859), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lisu},
 64787  	{Fname_offset: Tuint16_t(1864), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Ll},
 64788  	{Fname_offset: Tuint16_t(1867), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lm},
 64789  	{Fname_offset: Tuint16_t(1870), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lo},
 64790  	{Fname_offset: Tuint16_t(1873), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Logical_Order_Exception},
 64791  	{Fname_offset: Tuint16_t(1877), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Logical_Order_Exception},
 64792  	{Fname_offset: Tuint16_t(1899), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Lowercase},
 64793  	{Fname_offset: Tuint16_t(1905), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Lowercase},
 64794  	{Fname_offset: Tuint16_t(1915), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lt},
 64795  	{Fname_offset: Tuint16_t(1918), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Lu},
 64796  	{Fname_offset: Tuint16_t(1921), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lycian},
 64797  	{Fname_offset: Tuint16_t(1926), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lycian},
 64798  	{Fname_offset: Tuint16_t(1933), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lydian},
 64799  	{Fname_offset: Tuint16_t(1938), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Lydian},
 64800  	{Fname_offset: Tuint16_t(1945), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_M},
 64801  	{Fname_offset: Tuint16_t(1947), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mahajani},
 64802  	{Fname_offset: Tuint16_t(1956), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mahajani},
 64803  	{Fname_offset: Tuint16_t(1961), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Makasar},
 64804  	{Fname_offset: Tuint16_t(1966), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Makasar},
 64805  	{Fname_offset: Tuint16_t(1974), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Malayalam},
 64806  	{Fname_offset: Tuint16_t(1984), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mandaic},
 64807  	{Fname_offset: Tuint16_t(1989), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mandaic},
 64808  	{Fname_offset: Tuint16_t(1997), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Manichaean},
 64809  	{Fname_offset: Tuint16_t(2002), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Manichaean},
 64810  	{Fname_offset: Tuint16_t(2013), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Marchen},
 64811  	{Fname_offset: Tuint16_t(2018), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Marchen},
 64812  	{Fname_offset: Tuint16_t(2026), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Masaram_Gondi},
 64813  	{Fname_offset: Tuint16_t(2039), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Math},
 64814  	{Fname_offset: Tuint16_t(2044), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Mc},
 64815  	{Fname_offset: Tuint16_t(2047), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Me},
 64816  	{Fname_offset: Tuint16_t(2050), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Medefaidrin},
 64817  	{Fname_offset: Tuint16_t(2062), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Medefaidrin},
 64818  	{Fname_offset: Tuint16_t(2067), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meetei_Mayek},
 64819  	{Fname_offset: Tuint16_t(2079), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mende_Kikakui},
 64820  	{Fname_offset: Tuint16_t(2084), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mende_Kikakui},
 64821  	{Fname_offset: Tuint16_t(2097), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Cursive},
 64822  	{Fname_offset: Tuint16_t(2102), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Hieroglyphs},
 64823  	{Fname_offset: Tuint16_t(2107), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Cursive},
 64824  	{Fname_offset: Tuint16_t(2123), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meroitic_Hieroglyphs},
 64825  	{Fname_offset: Tuint16_t(2143), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Miao},
 64826  	{Fname_offset: Tuint16_t(2148), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Malayalam},
 64827  	{Fname_offset: Tuint16_t(2153), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Mn},
 64828  	{Fname_offset: Tuint16_t(2156), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Modi},
 64829  	{Fname_offset: Tuint16_t(2161), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mongolian},
 64830  	{Fname_offset: Tuint16_t(2166), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Mongolian},
 64831  	{Fname_offset: Tuint16_t(2176), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mro},
 64832  	{Fname_offset: Tuint16_t(2180), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Mro},
 64833  	{Fname_offset: Tuint16_t(2185), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Meetei_Mayek},
 64834  	{Fname_offset: Tuint16_t(2190), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Multani},
 64835  	{Fname_offset: Tuint16_t(2195), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Multani},
 64836  	{Fname_offset: Tuint16_t(2203), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Myanmar},
 64837  	{Fname_offset: Tuint16_t(2211), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Myanmar},
 64838  	{Fname_offset: Tuint16_t(2216), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_N},
 64839  	{Fname_offset: Tuint16_t(2218), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nabataean},
 64840  	{Fname_offset: Tuint16_t(2228), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nandinagari},
 64841  	{Fname_offset: Tuint16_t(2233), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nandinagari},
 64842  	{Fname_offset: Tuint16_t(2245), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_North_Arabian},
 64843  	{Fname_offset: Tuint16_t(2250), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nabataean},
 64844  	{Fname_offset: Tuint16_t(2255), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Noncharacter_Code_Point},
 64845  	{Fname_offset: Tuint16_t(2261), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Nd},
 64846  	{Fname_offset: Tuint16_t(2264), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Newa},
 64847  	{Fname_offset: Tuint16_t(2269), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_New_Tai_Lue},
 64848  	{Fname_offset: Tuint16_t(2279), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nko},
 64849  	{Fname_offset: Tuint16_t(2283), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Nko},
 64850  	{Fname_offset: Tuint16_t(2288), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Nl},
 64851  	{Fname_offset: Tuint16_t(2291), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_No},
 64852  	{Fname_offset: Tuint16_t(2294), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Noncharacter_Code_Point},
 64853  	{Fname_offset: Tuint16_t(2316), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nushu},
 64854  	{Fname_offset: Tuint16_t(2321), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nushu},
 64855  	{Fname_offset: Tuint16_t(2327), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Nyiakeng_Puachue_Hmong},
 64856  	{Fname_offset: Tuint16_t(2348), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ogham},
 64857  	{Fname_offset: Tuint16_t(2353), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ogham},
 64858  	{Fname_offset: Tuint16_t(2359), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ol_Chiki},
 64859  	{Fname_offset: Tuint16_t(2367), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ol_Chiki},
 64860  	{Fname_offset: Tuint16_t(2372), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Hungarian},
 64861  	{Fname_offset: Tuint16_t(2385), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Italic},
 64862  	{Fname_offset: Tuint16_t(2395), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_North_Arabian},
 64863  	{Fname_offset: Tuint16_t(2411), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Permic},
 64864  	{Fname_offset: Tuint16_t(2421), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Persian},
 64865  	{Fname_offset: Tuint16_t(2432), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Sogdian},
 64866  	{Fname_offset: Tuint16_t(2443), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_South_Arabian},
 64867  	{Fname_offset: Tuint16_t(2459), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Turkic},
 64868  	{Fname_offset: Tuint16_t(2469), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Uyghur},
 64869  	{Fname_offset: Tuint16_t(2479), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Oriya},
 64870  	{Fname_offset: Tuint16_t(2485), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Turkic},
 64871  	{Fname_offset: Tuint16_t(2490), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Oriya},
 64872  	{Fname_offset: Tuint16_t(2495), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osage},
 64873  	{Fname_offset: Tuint16_t(2501), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osage},
 64874  	{Fname_offset: Tuint16_t(2506), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osmanya},
 64875  	{Fname_offset: Tuint16_t(2511), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Osmanya},
 64876  	{Fname_offset: Tuint16_t(2519), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Uyghur},
 64877  	{Fname_offset: Tuint16_t(2524), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_P},
 64878  	{Fname_offset: Tuint16_t(2526), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pahawh_Hmong},
 64879  	{Fname_offset: Tuint16_t(2538), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Palmyrene},
 64880  	{Fname_offset: Tuint16_t(2543), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Palmyrene},
 64881  	{Fname_offset: Tuint16_t(2553), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_Syntax},
 64882  	{Fname_offset: Tuint16_t(2560), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_Syntax},
 64883  	{Fname_offset: Tuint16_t(2574), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_White_Space},
 64884  	{Fname_offset: Tuint16_t(2592), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Pattern_White_Space},
 64885  	{Fname_offset: Tuint16_t(2598), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pau_Cin_Hau},
 64886  	{Fname_offset: Tuint16_t(2603), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Pau_Cin_Hau},
 64887  	{Fname_offset: Tuint16_t(2613), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pc},
 64888  	{Fname_offset: Tuint16_t(2616), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Prepended_Concatenation_Mark},
 64889  	{Fname_offset: Tuint16_t(2620), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pd},
 64890  	{Fname_offset: Tuint16_t(2623), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pe},
 64891  	{Fname_offset: Tuint16_t(2626), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Old_Permic},
 64892  	{Fname_offset: Tuint16_t(2631), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pf},
 64893  	{Fname_offset: Tuint16_t(2634), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Phags_Pa},
 64894  	{Fname_offset: Tuint16_t(2639), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Phags_Pa},
 64895  	{Fname_offset: Tuint16_t(2647), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Pahlavi},
 64896  	{Fname_offset: Tuint16_t(2652), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Psalter_Pahlavi},
 64897  	{Fname_offset: Tuint16_t(2657), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Phoenician},
 64898  	{Fname_offset: Tuint16_t(2662), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Phoenician},
 64899  	{Fname_offset: Tuint16_t(2673), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Pi},
 64900  	{Fname_offset: Tuint16_t(2676), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Miao},
 64901  	{Fname_offset: Tuint16_t(2681), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Po},
 64902  	{Fname_offset: Tuint16_t(2684), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Prepended_Concatenation_Mark},
 64903  	{Fname_offset: Tuint16_t(2711), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inscriptional_Parthian},
 64904  	{Fname_offset: Tuint16_t(2716), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Ps},
 64905  	{Fname_offset: Tuint16_t(2719), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Psalter_Pahlavi},
 64906  	{Fname_offset: Tuint16_t(2734), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Coptic},
 64907  	{Fname_offset: Tuint16_t(2739), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inherited},
 64908  	{Fname_offset: Tuint16_t(2744), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Quotation_Mark},
 64909  	{Fname_offset: Tuint16_t(2750), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Quotation_Mark},
 64910  	{Fname_offset: Tuint16_t(2764), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Radical},
 64911  	{Fname_offset: Tuint16_t(2772), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Regional_Indicator},
 64912  	{Fname_offset: Tuint16_t(2790), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Rejang},
 64913  	{Fname_offset: Tuint16_t(2797), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Regional_Indicator},
 64914  	{Fname_offset: Tuint16_t(2800), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Rejang},
 64915  	{Fname_offset: Tuint16_t(2805), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Hanifi_Rohingya},
 64916  	{Fname_offset: Tuint16_t(2810), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Runic},
 64917  	{Fname_offset: Tuint16_t(2816), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Runic},
 64918  	{Fname_offset: Tuint16_t(2821), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_S},
 64919  	{Fname_offset: Tuint16_t(2823), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Samaritan},
 64920  	{Fname_offset: Tuint16_t(2833), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Samaritan},
 64921  	{Fname_offset: Tuint16_t(2838), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_South_Arabian},
 64922  	{Fname_offset: Tuint16_t(2843), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Saurashtra},
 64923  	{Fname_offset: Tuint16_t(2848), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Saurashtra},
 64924  	{Fname_offset: Tuint16_t(2859), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Sc},
 64925  	{Fname_offset: Tuint16_t(2862), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Soft_Dotted},
 64926  	{Fname_offset: Tuint16_t(2865), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Sentence_Terminal},
 64927  	{Fname_offset: Tuint16_t(2882), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_SignWriting},
 64928  	{Fname_offset: Tuint16_t(2887), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sharada},
 64929  	{Fname_offset: Tuint16_t(2895), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Shavian},
 64930  	{Fname_offset: Tuint16_t(2903), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Shavian},
 64931  	{Fname_offset: Tuint16_t(2908), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sharada},
 64932  	{Fname_offset: Tuint16_t(2913), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Siddham},
 64933  	{Fname_offset: Tuint16_t(2918), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Siddham},
 64934  	{Fname_offset: Tuint16_t(2926), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_SignWriting},
 64935  	{Fname_offset: Tuint16_t(2938), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Khudawadi},
 64936  	{Fname_offset: Tuint16_t(2943), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sinhala},
 64937  	{Fname_offset: Tuint16_t(2948), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sinhala},
 64938  	{Fname_offset: Tuint16_t(2956), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Sk},
 64939  	{Fname_offset: Tuint16_t(2959), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Sm},
 64940  	{Fname_offset: Tuint16_t(2962), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_So},
 64941  	{Fname_offset: Tuint16_t(2965), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Soft_Dotted},
 64942  	{Fname_offset: Tuint16_t(2976), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sogdian},
 64943  	{Fname_offset: Tuint16_t(2981), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Sogdian},
 64944  	{Fname_offset: Tuint16_t(2989), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Sogdian},
 64945  	{Fname_offset: Tuint16_t(2994), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sora_Sompeng},
 64946  	{Fname_offset: Tuint16_t(2999), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sora_Sompeng},
 64947  	{Fname_offset: Tuint16_t(3011), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Soyombo},
 64948  	{Fname_offset: Tuint16_t(3016), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Soyombo},
 64949  	{Fname_offset: Tuint16_t(3024), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_White_Space},
 64950  	{Fname_offset: Tuint16_t(3030), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Sentence_Terminal},
 64951  	{Fname_offset: Tuint16_t(3036), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sundanese},
 64952  	{Fname_offset: Tuint16_t(3041), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Sundanese},
 64953  	{Fname_offset: Tuint16_t(3051), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syloti_Nagri},
 64954  	{Fname_offset: Tuint16_t(3056), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syloti_Nagri},
 64955  	{Fname_offset: Tuint16_t(3068), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syriac},
 64956  	{Fname_offset: Tuint16_t(3073), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Syriac},
 64957  	{Fname_offset: Tuint16_t(3080), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagalog},
 64958  	{Fname_offset: Tuint16_t(3088), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagbanwa},
 64959  	{Fname_offset: Tuint16_t(3093), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagbanwa},
 64960  	{Fname_offset: Tuint16_t(3102), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tai_Le},
 64961  	{Fname_offset: Tuint16_t(3108), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Tham},
 64962  	{Fname_offset: Tuint16_t(3116), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Viet},
 64963  	{Fname_offset: Tuint16_t(3124), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Takri},
 64964  	{Fname_offset: Tuint16_t(3129), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Takri},
 64965  	{Fname_offset: Tuint16_t(3135), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tai_Le},
 64966  	{Fname_offset: Tuint16_t(3140), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_New_Tai_Lue},
 64967  	{Fname_offset: Tuint16_t(3145), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tamil},
 64968  	{Fname_offset: Tuint16_t(3151), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tamil},
 64969  	{Fname_offset: Tuint16_t(3156), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangut},
 64970  	{Fname_offset: Tuint16_t(3161), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangsa},
 64971  	{Fname_offset: Tuint16_t(3168), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangut},
 64972  	{Fname_offset: Tuint16_t(3175), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tai_Viet},
 64973  	{Fname_offset: Tuint16_t(3180), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Telugu},
 64974  	{Fname_offset: Tuint16_t(3185), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Telugu},
 64975  	{Fname_offset: Tuint16_t(3192), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Terminal_Punctuation},
 64976  	{Fname_offset: Tuint16_t(3197), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Terminal_Punctuation},
 64977  	{Fname_offset: Tuint16_t(3217), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tifinagh},
 64978  	{Fname_offset: Tuint16_t(3222), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tagalog},
 64979  	{Fname_offset: Tuint16_t(3227), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Thaana},
 64980  	{Fname_offset: Tuint16_t(3232), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Thaana},
 64981  	{Fname_offset: Tuint16_t(3239), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Thai},
 64982  	{Fname_offset: Tuint16_t(3244), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tibetan},
 64983  	{Fname_offset: Tuint16_t(3252), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tibetan},
 64984  	{Fname_offset: Tuint16_t(3257), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tifinagh},
 64985  	{Fname_offset: Tuint16_t(3266), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tirhuta},
 64986  	{Fname_offset: Tuint16_t(3271), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Tirhuta},
 64987  	{Fname_offset: Tuint16_t(3279), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Tangsa},
 64988  	{Fname_offset: Tuint16_t(3284), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Toto},
 64989  	{Fname_offset: Tuint16_t(3289), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ugaritic},
 64990  	{Fname_offset: Tuint16_t(3294), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Ugaritic},
 64991  	{Fname_offset: Tuint16_t(3303), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Unified_Ideograph},
 64992  	{Fname_offset: Tuint16_t(3309), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Unified_Ideograph},
 64993  	{Fname_offset: Tuint16_t(3326), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Unknown},
 64994  	{Fname_offset: Tuint16_t(3334), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Uppercase},
 64995  	{Fname_offset: Tuint16_t(3340), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Uppercase},
 64996  	{Fname_offset: Tuint16_t(3350), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vai},
 64997  	{Fname_offset: Tuint16_t(3354), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vai},
 64998  	{Fname_offset: Tuint16_t(3359), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Variation_Selector},
 64999  	{Fname_offset: Tuint16_t(3377), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vithkuqi},
 65000  	{Fname_offset: Tuint16_t(3382), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Vithkuqi},
 65001  	{Fname_offset: Tuint16_t(3391), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_Variation_Selector},
 65002  	{Fname_offset: Tuint16_t(3394), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Wancho},
 65003  	{Fname_offset: Tuint16_t(3401), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Warang_Citi},
 65004  	{Fname_offset: Tuint16_t(3406), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Warang_Citi},
 65005  	{Fname_offset: Tuint16_t(3417), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Wancho},
 65006  	{Fname_offset: Tuint16_t(3422), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_White_Space},
 65007  	{Fname_offset: Tuint16_t(3433), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_White_Space},
 65008  	{Fname_offset: Tuint16_t(3440), Ftype: Tuint16_t(DPT_ALNUM)},
 65009  	{Fname_offset: Tuint16_t(3444), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Continue},
 65010  	{Fname_offset: Tuint16_t(3449), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Continue},
 65011  	{Fname_offset: Tuint16_t(3461), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Start},
 65012  	{Fname_offset: Tuint16_t(3466), Ftype: Tuint16_t(DPT_BOOL), Fvalue: ucp_XID_Start},
 65013  	{Fname_offset: Tuint16_t(3475), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Old_Persian},
 65014  	{Fname_offset: Tuint16_t(3480), Ftype: Tuint16_t(DPT_PXSPACE)},
 65015  	{Fname_offset: Tuint16_t(3484), Ftype: Tuint16_t(DPT_SPACE)},
 65016  	{Fname_offset: Tuint16_t(3488), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Cuneiform},
 65017  	{Fname_offset: Tuint16_t(3493), Ftype: Tuint16_t(DPT_UCNC)},
 65018  	{Fname_offset: Tuint16_t(3497), Ftype: Tuint16_t(DPT_WORD)},
 65019  	{Fname_offset: Tuint16_t(3501), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yezidi},
 65020  	{Fname_offset: Tuint16_t(3506), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yezidi},
 65021  	{Fname_offset: Tuint16_t(3513), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yi},
 65022  	{Fname_offset: Tuint16_t(3516), Ftype: Tuint16_t(DPT_SCX), Fvalue: ucp_Yi},
 65023  	{Fname_offset: Tuint16_t(3521), Ftype: Tuint16_t(DPT_GC), Fvalue: ucp_Z},
 65024  	{Fname_offset: Tuint16_t(3523), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Zanabazar_Square},
 65025  	{Fname_offset: Tuint16_t(3539), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Zanabazar_Square},
 65026  	{Fname_offset: Tuint16_t(3544), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Inherited},
 65027  	{Fname_offset: Tuint16_t(3549), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Zl},
 65028  	{Fname_offset: Tuint16_t(3552), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Zp},
 65029  	{Fname_offset: Tuint16_t(3555), Ftype: Tuint16_t(DPT_PC), Fvalue: ucp_Zs},
 65030  	{Fname_offset: Tuint16_t(3558), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Common},
 65031  	{Fname_offset: Tuint16_t(3563), Ftype: Tuint16_t(DPT_SC), Fvalue: ucp_Unknown},
 65032  } /* pcre2_ucptables.c:1031:22 */
 65033  
 65034  var X_pcre2_utt_size_8 Tsize_t = uint64(unsafe.Sizeof(X_pcre2_utt_8)) / uint64(unsafe.Sizeof(Tucp_type_table{})) /* pcre2_ucptables.c:1520:14 */
 65035  
 65036  // End of pcre2_ucptables.c
 65037  
 65038  // End of pcre2_tables.c
 65039  
 65040  // This function is needed only when memmove() is not available.
 65041  
 65042  // End of pcre2_internal.h
 65043  
 65044  // The tables herein are needed only when UCP support is built, and in PCRE2
 65045  // that happens automatically with UTF support. This module should not be
 65046  // referenced otherwise, so it should not matter whether it is compiled or not.
 65047  // However a comment was received about space saving - maybe the guy linked all
 65048  // the modules rather than using a library - so we include a condition to cut out
 65049  // the tables when not needed. But don't leave a totally empty module because some
 65050  // compilers barf at that. Instead, just supply some small dummy tables.
 65051  
 65052  // Total size: 111116 bytes, block size: 128.
 65053  
 65054  var X_pcre2_unicode_version_8 uintptr = ts + 11252 /* "14.0.0" */ /* pcre2_ucd.c:79:12 */
 65055  
 65056  // When recompiling tables with a new Unicode version, please check the types
 65057  // in this structure definition with those in pcre2_internal.h (the actual field
 65058  // names will be different).
 65059  //
 65060  // typedef struct {
 65061  // uint8_t property_0;
 65062  // uint8_t property_1;
 65063  // uint8_t property_2;
 65064  // uint8_t property_3;
 65065  // int32_t property_4;
 65066  // uint16_t property_5;
 65067  // uint16_t property_6;
 65068  // } ucd_record;
 65069  
 65070  // If the 32-bit library is run in non-32-bit mode, character values greater
 65071  // than 0x10ffff may be encountered. For these we set up a special record.
 65072  
 65073  // This table contains lists of characters that are caseless sets of
 65074  // more than one character. Each list is terminated by NOTACHAR.
 65075  
 65076  var X_pcre2_ucd_caseless_sets_8 = [112]Tuint32_t{
 65077  	DNOTACHAR,
 65078  	Tuint32_t(0x0053), Tuint32_t(0x0073), Tuint32_t(0x017f), DNOTACHAR,
 65079  	Tuint32_t(0x01c4), Tuint32_t(0x01c5), Tuint32_t(0x01c6), DNOTACHAR,
 65080  	Tuint32_t(0x01c7), Tuint32_t(0x01c8), Tuint32_t(0x01c9), DNOTACHAR,
 65081  	Tuint32_t(0x01ca), Tuint32_t(0x01cb), Tuint32_t(0x01cc), DNOTACHAR,
 65082  	Tuint32_t(0x01f1), Tuint32_t(0x01f2), Tuint32_t(0x01f3), DNOTACHAR,
 65083  	Tuint32_t(0x0345), Tuint32_t(0x0399), Tuint32_t(0x03b9), Tuint32_t(0x1fbe), DNOTACHAR,
 65084  	Tuint32_t(0x00b5), Tuint32_t(0x039c), Tuint32_t(0x03bc), DNOTACHAR,
 65085  	Tuint32_t(0x03a3), Tuint32_t(0x03c2), Tuint32_t(0x03c3), DNOTACHAR,
 65086  	Tuint32_t(0x0392), Tuint32_t(0x03b2), Tuint32_t(0x03d0), DNOTACHAR,
 65087  	Tuint32_t(0x0398), Tuint32_t(0x03b8), Tuint32_t(0x03d1), Tuint32_t(0x03f4), DNOTACHAR,
 65088  	Tuint32_t(0x03a6), Tuint32_t(0x03c6), Tuint32_t(0x03d5), DNOTACHAR,
 65089  	Tuint32_t(0x03a0), Tuint32_t(0x03c0), Tuint32_t(0x03d6), DNOTACHAR,
 65090  	Tuint32_t(0x039a), Tuint32_t(0x03ba), Tuint32_t(0x03f0), DNOTACHAR,
 65091  	Tuint32_t(0x03a1), Tuint32_t(0x03c1), Tuint32_t(0x03f1), DNOTACHAR,
 65092  	Tuint32_t(0x0395), Tuint32_t(0x03b5), Tuint32_t(0x03f5), DNOTACHAR,
 65093  	Tuint32_t(0x0412), Tuint32_t(0x0432), Tuint32_t(0x1c80), DNOTACHAR,
 65094  	Tuint32_t(0x0414), Tuint32_t(0x0434), Tuint32_t(0x1c81), DNOTACHAR,
 65095  	Tuint32_t(0x041e), Tuint32_t(0x043e), Tuint32_t(0x1c82), DNOTACHAR,
 65096  	Tuint32_t(0x0421), Tuint32_t(0x0441), Tuint32_t(0x1c83), DNOTACHAR,
 65097  	Tuint32_t(0x0422), Tuint32_t(0x0442), Tuint32_t(0x1c84), Tuint32_t(0x1c85), DNOTACHAR,
 65098  	Tuint32_t(0x042a), Tuint32_t(0x044a), Tuint32_t(0x1c86), DNOTACHAR,
 65099  	Tuint32_t(0x0462), Tuint32_t(0x0463), Tuint32_t(0x1c87), DNOTACHAR,
 65100  	Tuint32_t(0x1e60), Tuint32_t(0x1e61), Tuint32_t(0x1e9b), DNOTACHAR,
 65101  	Tuint32_t(0x03a9), Tuint32_t(0x03c9), Tuint32_t(0x2126), DNOTACHAR,
 65102  	Tuint32_t(0x004b), Tuint32_t(0x006b), Tuint32_t(0x212a), DNOTACHAR,
 65103  	Tuint32_t(0x00c5), Tuint32_t(0x00e5), Tuint32_t(0x212b), DNOTACHAR,
 65104  	Tuint32_t(0x1c88), Tuint32_t(0xa64a), Tuint32_t(0xa64b), DNOTACHAR,
 65105  } /* pcre2_ucd.c:114:16 */
 65106  
 65107  // When #included in pcre2test, we don't need the table of digit sets, nor the
 65108  // the large main UCD tables.
 65109  
 65110  // This table lists the code points for the '9' characters in each set of
 65111  // decimal digits. It is used to ensure that all the digits in a script run come
 65112  // from the same set.
 65113  
 65114  var X_pcre2_ucd_digit_sets_8 = [67]Tuint32_t{
 65115  	Tuint32_t(66), // Number of subsequent values
 65116  	Tuint32_t(0x00039), Tuint32_t(0x00669), Tuint32_t(0x006f9), Tuint32_t(0x007c9), Tuint32_t(0x0096f), Tuint32_t(0x009ef), Tuint32_t(0x00a6f), Tuint32_t(0x00aef),
 65117  	Tuint32_t(0x00b6f), Tuint32_t(0x00bef), Tuint32_t(0x00c6f), Tuint32_t(0x00cef), Tuint32_t(0x00d6f), Tuint32_t(0x00def), Tuint32_t(0x00e59), Tuint32_t(0x00ed9),
 65118  	Tuint32_t(0x00f29), Tuint32_t(0x01049), Tuint32_t(0x01099), Tuint32_t(0x017e9), Tuint32_t(0x01819), Tuint32_t(0x0194f), Tuint32_t(0x019d9), Tuint32_t(0x01a89),
 65119  	Tuint32_t(0x01a99), Tuint32_t(0x01b59), Tuint32_t(0x01bb9), Tuint32_t(0x01c49), Tuint32_t(0x01c59), Tuint32_t(0x0a629), Tuint32_t(0x0a8d9), Tuint32_t(0x0a909),
 65120  	Tuint32_t(0x0a9d9), Tuint32_t(0x0a9f9), Tuint32_t(0x0aa59), Tuint32_t(0x0abf9), Tuint32_t(0x0ff19), Tuint32_t(0x104a9), Tuint32_t(0x10d39), Tuint32_t(0x1106f),
 65121  	Tuint32_t(0x110f9), Tuint32_t(0x1113f), Tuint32_t(0x111d9), Tuint32_t(0x112f9), Tuint32_t(0x11459), Tuint32_t(0x114d9), Tuint32_t(0x11659), Tuint32_t(0x116c9),
 65122  	Tuint32_t(0x11739), Tuint32_t(0x118e9), Tuint32_t(0x11959), Tuint32_t(0x11c59), Tuint32_t(0x11d59), Tuint32_t(0x11da9), Tuint32_t(0x16a69), Tuint32_t(0x16ac9),
 65123  	Tuint32_t(0x16b59), Tuint32_t(0x1d7d7), Tuint32_t(0x1d7e1), Tuint32_t(0x1d7eb), Tuint32_t(0x1d7f5), Tuint32_t(0x1d7ff), Tuint32_t(0x1e149), Tuint32_t(0x1e2f9),
 65124  	Tuint32_t(0x1e959), Tuint32_t(0x1fbf9),
 65125  } /* pcre2_ucd.c:154:16 */
 65126  
 65127  // This vector is a list of script bitsets for the Script Extension property.
 65128  // The number of 32-bit words in each bitset is #defined in pcre2_ucp.h as
 65129  // ucd_script_sets_item_size.
 65130  
 65131  var X_pcre2_ucd_script_sets_8 = [189]Tuint32_t{
 65132  	0x00000000, 0x00000000, 0x00000000,
 65133  	0x00000080, 0x00000000, 0x00000000,
 65134  	0x00000040, 0x00000000, 0x00000000,
 65135  	0x00000000, 0x00004000, 0x00000000,
 65136  	0x00000002, 0x00000000, 0x00000000,
 65137  	0x00800000, 0x00000000, 0x00000000,
 65138  	0x00000001, 0x00000000, 0x00000000,
 65139  	0x00000000, 0x00000000, 0x00000001,
 65140  	0x00000010, 0x00000000, 0x00000000,
 65141  	0x00000008, 0x00000004, 0x00000000,
 65142  	0x00000008, 0x40000000, 0x00000000,
 65143  	0x00000008, 0x00000040, 0x00000000,
 65144  	0x00000018, 0x00000000, 0x00000000,
 65145  	0x00000028, 0x00000000, 0x00000000,
 65146  	0x000000c0, 0x00000000, 0x00000000,
 65147  	0x00c00000, 0x00000000, 0x00000000,
 65148  	0x00000000, 0x00000102, 0x00000000,
 65149  	0x80000000, 0x00000001, 0x00000000,
 65150  	0x00000004, 0x00000008, 0x00000000,
 65151  	0x00000005, 0x00000000, 0x00000000,
 65152  	0x00000004, 0x00200000, 0x00000000,
 65153  	0x00000014, 0x00000000, 0x00000000,
 65154  	0x00000040, 0x00008000, 0x00000000,
 65155  	0x00000040, 0x00000000, 0x00000001,
 65156  	0x00000040, 0x00001000, 0x00000000,
 65157  	0x00000840, 0x00000000, 0x00000000,
 65158  	0x00020001, 0x00000000, 0x00000000,
 65159  	0x00000800, 0x00008000, 0x00000000,
 65160  	0x00000200, 0x00010000, 0x00000000,
 65161  	0x00000100, 0x02000000, 0x00000000,
 65162  	0x00800001, 0x00000000, 0x00000000,
 65163  	0x00300000, 0x00000000, 0x00000000,
 65164  	0x00002000, 0x00000000, 0x00000001,
 65165  	0x00080001, 0x00000000, 0x00000000,
 65166  	0x00000000, 0x00080000, 0x00000008,
 65167  	0x00080000, 0x00000020, 0x00000000,
 65168  	0x00000038, 0x00000000, 0x00000000,
 65169  	0x00000028, 0x00000000, 0x00000002,
 65170  	0x00000080, 0x00000810, 0x00000000,
 65171  	0x40010000, 0x00000800, 0x00000000,
 65172  	0x80000000, 0x00000001, 0x00000004,
 65173  	0x80000000, 0x00020001, 0x00000000,
 65174  	0x00002040, 0x00008000, 0x00000000,
 65175  	0x00000041, 0x00008000, 0x00000000,
 65176  	0x00b00000, 0x00000000, 0x00000000,
 65177  	0x00010001, 0x00000080, 0x00000000,
 65178  	0x000020c0, 0x00008000, 0x00000000,
 65179  	0x1e000000, 0x00000000, 0x00000000,
 65180  	0x00000040, 0x10040200, 0x00000000,
 65181  	0x00f40000, 0x00000000, 0x00000000,
 65182  	0x00000038, 0x40000040, 0x00000002,
 65183  	0x01f40000, 0x00000000, 0x00000000,
 65184  	0x00007c40, 0x00000000, 0x00000000,
 65185  	0x00000038, 0x44000040, 0x00000002,
 65186  	0x000034c0, 0x01008000, 0x00000001,
 65187  	0x00000018, 0xc4480400, 0x00000008,
 65188  	0x00000340, 0x11952200, 0x00000000,
 65189  	0x00007fc1, 0x01008000, 0x00000000,
 65190  	0x00007fc1, 0x01009000, 0x00000000,
 65191  	0x00002340, 0x11952200, 0x00000001,
 65192  	0x00006340, 0x11952200, 0x00000001,
 65193  	0x0000ffc0, 0x3984a010, 0x00000001,
 65194  	0x2000ffc0, 0x3984a010, 0x00000001,
 65195  } /* pcre2_ucd.c:171:16 */
 65196  
 65197  // This vector is a list of bitsets for Boolean properties. The number of
 65198  // 32_bit words in each bitset is #defined as ucd_boolprop_sets_item_size in
 65199  // pcre2_ucp.h.
 65200  
 65201  var X_pcre2_ucd_boolprop_sets_8 = [354]Tuint32_t{
 65202  	0x00000000, 0x00000000,
 65203  	0x00000001, 0x00000000,
 65204  	0x00000001, 0x00020040,
 65205  	0x00800001, 0x00020040,
 65206  	0x00800001, 0x00002820,
 65207  	0x00800001, 0x00000120,
 65208  	0x00830001, 0x00000020,
 65209  	0x00800001, 0x00000020,
 65210  	0x00800021, 0x00000120,
 65211  	0x00800011, 0x00000020,
 65212  	0x00800001, 0x00000028,
 65213  	0x00800001, 0x00002020,
 65214  	0x00801001, 0x00000020,
 65215  	0x00800021, 0x00002820,
 65216  	0x24830003, 0x00040000,
 65217  	0x00800021, 0x00002020,
 65218  	0x00800011, 0x00000028,
 65219  	0x648003c7, 0x000c8000,
 65220  	0x608003c5, 0x000c8000,
 65221  	0x00808021, 0x00000028,
 65222  	0x20800001, 0x00040000,
 65223  	0x00808021, 0x00000020,
 65224  	0x64800d47, 0x000c0004,
 65225  	0x60800d45, 0x000c0004,
 65226  	0x60800d45, 0x000c1004,
 65227  	0x00000000, 0x00020040,
 65228  	0x00800000, 0x00020000,
 65229  	0x00800000, 0x00000020,
 65230  	0x00808020, 0x00000000,
 65231  	0x00a10000, 0x00000020,
 65232  	0x60800044, 0x000c0004,
 65233  	0x00800010, 0x00000120,
 65234  	0x00800000, 0x00000028,
 65235  	0x00002020, 0x00000000,
 65236  	0x00800000, 0x00000000,
 65237  	0x60800dc4, 0x000c0004,
 65238  	0x20c08020, 0x00040000,
 65239  	0x608003c4, 0x000c8000,
 65240  	0x60800d44, 0x000c0004,
 65241  	0x60800d44, 0x000c1004,
 65242  	0x60804dc4, 0x000c0004,
 65243  	0x60800004, 0x000c0000,
 65244  	0x608007c4, 0x000c8000,
 65245  	0x60800bc4, 0x000c0000,
 65246  	0x60808064, 0x000c0004,
 65247  	0x60808064, 0x000c1004,
 65248  	0x60808024, 0x000c0000,
 65249  	0x60c08024, 0x000c0000,
 65250  	0x21008020, 0x00040000,
 65251  	0x21008de4, 0x00040004,
 65252  	0x21002020, 0x00040000,
 65253  	0x21000020, 0x00040000,
 65254  	0x60808064, 0x00000004,
 65255  	0x00800000, 0x00002000,
 65256  	0x20800020, 0x00042000,
 65257  	0x60800dc4, 0x000c000c,
 65258  	0x60800044, 0x000c8008,
 65259  	0x60800044, 0x000c8000,
 65260  	0x608003c4, 0x000c8008,
 65261  	0x00800000, 0x00000008,
 65262  	0x01000020, 0x00000000,
 65263  	0x00800020, 0x00000000,
 65264  	0x00800000, 0x00002800,
 65265  	0x00801000, 0x00000000,
 65266  	0x21008024, 0x00040000,
 65267  	0x21000024, 0x00040000,
 65268  	0x00000020, 0x00000080,
 65269  	0x00002028, 0x00000000,
 65270  	0x60c00024, 0x000c0000,
 65271  	0x20800000, 0x00040000,
 65272  	0x60804004, 0x000c0000,
 65273  	0x60800024, 0x000c0000,
 65274  	0x20800004, 0x00040000,
 65275  	0x23008020, 0x00040000,
 65276  	0x21000004, 0x00040000,
 65277  	0x21408020, 0x00040000,
 65278  	0x60800004, 0x00040000,
 65279  	0x23000024, 0x00040000,
 65280  	0x60800004, 0x000c0002,
 65281  	0x00800010, 0x00000000,
 65282  	0x20808000, 0x00040000,
 65283  	0x21004024, 0x00040000,
 65284  	0x20808004, 0x00040000,
 65285  	0x60800944, 0x000c0004,
 65286  	0x60802004, 0x000c0000,
 65287  	0x60800344, 0x000c8000,
 65288  	0x22808000, 0x00040000,
 65289  	0x22800000, 0x00040000,
 65290  	0x00c00000, 0x00000000,
 65291  	0x21002020, 0x00050000,
 65292  	0x61000024, 0x000c0000,
 65293  	0x23000020, 0x00040000,
 65294  	0x01008020, 0x00000000,
 65295  	0x21408024, 0x00040000,
 65296  	0x00808000, 0x00000000,
 65297  	0x60800064, 0x000c0004,
 65298  	0x60800044, 0x000c1004,
 65299  	0x60800064, 0x000c1004,
 65300  	0x01002020, 0x00000001,
 65301  	0x00022020, 0x00000001,
 65302  	0x00002028, 0x00000040,
 65303  	0x00801000, 0x00000020,
 65304  	0x00800020, 0x00000120,
 65305  	0x00800000, 0x00000120,
 65306  	0x00800020, 0x00000020,
 65307  	0x00a10000, 0x00002820,
 65308  	0x00800000, 0x00002820,
 65309  	0x20800000, 0x00040008,
 65310  	0x00800010, 0x00000020,
 65311  	0x00002020, 0x00000008,
 65312  	0x00002000, 0x00000000,
 65313  	0x00006020, 0x00000000,
 65314  	0x00801000, 0x00000008,
 65315  	0x00800010, 0x00000008,
 65316  	0x21000020, 0x00040008,
 65317  	0x01020020, 0x00000000,
 65318  	0x60800044, 0x000c000c,
 65319  	0x60800000, 0x000c0008,
 65320  	0x00a10000, 0x00000000,
 65321  	0x60800000, 0x000c0000,
 65322  	0x60800004, 0x000c0008,
 65323  	0x60a10044, 0x000c0004,
 65324  	0x60800044, 0x000c100c,
 65325  	0x00a10000, 0x00000028,
 65326  	0x00800010, 0x00000028,
 65327  	0x00801000, 0x00000028,
 65328  	0x00b10000, 0x00000020,
 65329  	0x00804010, 0x00000020,
 65330  	0x00a00000, 0x00000020,
 65331  	0x00000000, 0x00000020,
 65332  	0x008003c4, 0x00008000,
 65333  	0x00a103c4, 0x00008000,
 65334  	0x00800d44, 0x00000004,
 65335  	0x00b10000, 0x00000028,
 65336  	0x00a00000, 0x00000028,
 65337  	0x00a90000, 0x00000020,
 65338  	0x00b90000, 0x00000020,
 65339  	0x00808024, 0x00000020,
 65340  	0x00800000, 0x00002020,
 65341  	0x00800000, 0x00000200,
 65342  	0x08800000, 0x00000000,
 65343  	0x10800000, 0x00000000,
 65344  	0xe0800004, 0x000c0000,
 65345  	0x21008000, 0x00040000,
 65346  	0x00a11000, 0x00000020,
 65347  	0x60808020, 0x00000000,
 65348  	0xe0800004, 0x000c4000,
 65349  	0x60808004, 0x000c0000,
 65350  	0x60800004, 0x00000000,
 65351  	0x00000000, 0x00000010,
 65352  	0x21022020, 0x00050000,
 65353  	0x00800000, 0x00000100,
 65354  	0x00800020, 0x00002800,
 65355  	0x00800020, 0x00002000,
 65356  	0x00800020, 0x00000100,
 65357  	0x24800000, 0x00040000,
 65358  	0x648003c4, 0x000c8000,
 65359  	0x00808020, 0x00000008,
 65360  	0x64800d44, 0x000c0004,
 65361  	0x00800010, 0x00000100,
 65362  	0x61008024, 0x00040000,
 65363  	0x00000020, 0x00000000,
 65364  	0x60c00004, 0x000c0000,
 65365  	0x21400020, 0x00040000,
 65366  	0xa1000020, 0x00040000,
 65367  	0x21000000, 0x00040000,
 65368  	0x00a00000, 0x00000000,
 65369  	0x00b10000, 0x00000000,
 65370  	0x00200000, 0x00000000,
 65371  	0x00800044, 0x00008000,
 65372  	0x00a10044, 0x00008000,
 65373  	0x00930000, 0x00000400,
 65374  	0x00b90000, 0x00000000,
 65375  	0x00a90000, 0x00000000,
 65376  	0x00970020, 0x00000000,
 65377  	0x00b30000, 0x00000000,
 65378  	0x01022020, 0x00000000,
 65379  } /* pcre2_ucd.c:241:16 */
 65380  
 65381  // These are the main two-stage UCD tables. The fields in each record are:
 65382  // script (8 bits), character type (8 bits), grapheme break property (8 bits),
 65383  // offset to multichar other cases or zero (8 bits), offset to other case or zero
 65384  // (32 bits, signed), bidi class (5 bits) and script extension (11 bits) packed
 65385  // into a 16-bit field, and offset in binary properties table (16 bits).
 65386  
 65387  var X_pcre2_ucd_records_8 = [1409]Tucd_record{ // 16908 bytes, record size 12
 65388  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(2)},                                                                         //   0
 65389  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(43008), Fbprops: Tuint16_t(4)},                                                                        //   1
 65390  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(1), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(4)},                                                                         //   2
 65391  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(4)},                                                                        //   3
 65392  	{Fscript: Tuint8_t(69), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(4)},                                                                                               //   4
 65393  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(2)},                                                                         //   5
 65394  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(43008), Fbprops: Tuint16_t(2)},                                                                        //   6
 65395  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(6)},                                              //   7
 65396  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(8)},                                              //   8
 65397  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(10)},                                             //   9
 65398  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(12)},                                             //  10
 65399  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(14)},                                             //  11
 65400  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(14)},                                             //  12
 65401  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(14)},                                             //  13
 65402  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(16)},                                             //  14
 65403  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(18)},                                             //  15
 65404  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(18)},                                             //  16
 65405  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(12)},                                             //  17
 65406  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(20)},                                             //  18
 65407  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(22)},                                              //  19
 65408  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(24)},                                             //  20
 65409  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(26)},                                              //  21
 65410  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(14)},                                              //  22
 65411  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(28)},                                             //  23
 65412  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(30)},                                              //  24
 65413  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(22)},                                             //  25
 65414  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(32)},                                             //  26
 65415  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(20)},                                             //  27
 65416  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(34)},                                                    //  28
 65417  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(36)},                                                    //  29
 65418  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(100), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(36)},                           //  30
 65419  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(1), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(36)},                             //  31
 65420  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(38)},                                             //  32
 65421  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(16), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(40)},                                             //  33
 65422  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(42)},                                             //  34
 65423  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(44)},                                                   //  35
 65424  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(46)},                                                   //  36
 65425  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(48)},                                                   //  37
 65426  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(100), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(46)},                          //  38
 65427  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(1), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(46)},                            //  39
 65428  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144)},                                                                                                //  40
 65429  	{Fscript: Tuint8_t(69), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(50)},                                                                        //  41
 65430  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(52)},                                              //  42
 65431  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(54)},                                             //  43
 65432  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(54)},                                             //  44
 65433  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(54)},                                             //  45
 65434  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(56)},                                             //  46
 65435  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(58)},                                             //  47
 65436  	{Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                                                     //  48
 65437  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(62)},                                             //  49
 65438  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(64)},                                             //  50
 65439  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(66)},                                                //  51
 65440  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(54)},                                             //  52
 65441  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(64)},                                             //  53
 65442  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(68)},                                             //  54
 65443  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(26), Fother_case: 775, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},    //  55
 65444  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(72)},                                             //  56
 65445  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(62)},                                             //  57
 65446  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             //  58
 65447  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    //  59
 65448  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(104), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                           //  60
 65449  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 7615, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                                                  //  61
 65450  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  62
 65451  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(104), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                          //  63
 65452  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 121, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  64
 65453  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                     //  65
 65454  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                    //  66
 65455  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)},                                                    //  67
 65456  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                                     //  68
 65457  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                                     //  69
 65458  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                                                     //  70
 65459  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(80)},                                                                     //  71
 65460  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -121, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                  //  72
 65461  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(1), Fother_case: -268, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                           //  73
 65462  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 195, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  74
 65463  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 210, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  75
 65464  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 206, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  76
 65465  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 205, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  77
 65466  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 79, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    //  78
 65467  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 202, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  79
 65468  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 203, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  80
 65469  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 207, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  81
 65470  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 97, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                    //  82
 65471  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 211, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  83
 65472  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 209, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  84
 65473  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 163, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  85
 65474  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 213, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  86
 65475  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 130, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   //  87
 65476  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 214, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  88
 65477  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 218, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  89
 65478  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 217, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  90
 65479  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 219, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   //  91
 65480  	{Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                                                     //  92
 65481  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 56, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                    //  93
 65482  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(5), Fother_case: 2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(84)},                              //  94
 65483  	{Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(5), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)},                              //  95
 65484  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(5), Fother_case: -2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             //  96
 65485  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(9), Fother_case: 2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(84)},                              //  97
 65486  	{Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(9), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)},                              //  98
 65487  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(9), Fother_case: -2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             //  99
 65488  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(13), Fother_case: 2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(84)},                             // 100
 65489  	{Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(13), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)},                             // 101
 65490  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(13), Fother_case: -2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                            // 102
 65491  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -79, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   // 103
 65492  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(17), Fother_case: 2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(84)},                             // 104
 65493  	{Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(17), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)},                             // 105
 65494  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(17), Fother_case: -2, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                            // 106
 65495  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -97, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 107
 65496  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -56, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 108
 65497  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -130, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                  // 109
 65498  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 10795, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                 // 110
 65499  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -163, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                  // 111
 65500  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 10792, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                 // 112
 65501  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10815, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 113
 65502  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -195, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                  // 114
 65503  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 69, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    // 115
 65504  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 71, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    // 116
 65505  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10783, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 117
 65506  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10780, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 118
 65507  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10782, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 119
 65508  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -210, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 120
 65509  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -206, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 121
 65510  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -205, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 122
 65511  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -202, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 123
 65512  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -203, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 124
 65513  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42319, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 125
 65514  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42315, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 126
 65515  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -207, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 127
 65516  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42280, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 128
 65517  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42308, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 129
 65518  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -209, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)},                                                  // 130
 65519  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -211, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 131
 65520  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10743, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 132
 65521  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42305, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 133
 65522  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10749, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 134
 65523  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -213, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 135
 65524  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -214, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 136
 65525  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 10727, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 137
 65526  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -218, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 138
 65527  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42307, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 139
 65528  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42282, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 140
 65529  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -69, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   // 141
 65530  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -217, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 142
 65531  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -71, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   // 143
 65532  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -219, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 144
 65533  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42261, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)},                                                 // 145
 65534  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 42258, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 146
 65535  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)},                                                                     // 147
 65536  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(90)},                                                                     // 148
 65537  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(92)},                                              // 149
 65538  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                              // 150
 65539  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)},                                              // 151
 65540  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(94)},                                              // 152
 65541  	{Fscript: Tuint8_t(22), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(56)},                                             // 153
 65542  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 154
 65543  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26636), Fbprops: Tuint16_t(96)},                                              // 155
 65544  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fcaseset: Tuint8_t(21), Fother_case: 116, Fscriptx_bidiclass: Tuint16_t(26636), Fbprops: Tuint16_t(98)},    // 156
 65545  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(100)},                                             // 157
 65546  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 158
 65547  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26642), Fbprops: Tuint16_t(102)},                                             // 159
 65548  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                               // 160
 65549  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                              // 161
 65550  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(56)},                                              // 162
 65551  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432)},                                                                      // 163
 65552  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(104)},                                              // 164
 65553  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 130, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 165
 65554  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 166
 65555  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 116, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                             // 167
 65556  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 38, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 168
 65557  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(108)},                                            // 169
 65558  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 37, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 170
 65559  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 64, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 171
 65560  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 63, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 172
 65561  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                               // 173
 65562  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 174
 65563  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(34), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 175
 65564  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(59), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 176
 65565  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(38), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 177
 65566  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(21), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 178
 65567  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(51), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 179
 65568  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(26), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 180
 65569  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(47), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 181
 65570  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(55), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 182
 65571  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(30), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 183
 65572  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(43), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 184
 65573  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(96), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 185
 65574  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -38, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 186
 65575  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -37, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 187
 65576  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 188
 65577  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(34), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 189
 65578  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(59), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 190
 65579  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(38), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 191
 65580  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(21), Fother_case: -116, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},    // 192
 65581  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(51), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 193
 65582  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(26), Fother_case: -775, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},    // 194
 65583  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(47), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 195
 65584  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(55), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 196
 65585  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(30), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},       // 197
 65586  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(30), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 198
 65587  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(43), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 199
 65588  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(96), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 200
 65589  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -64, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 201
 65590  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -63, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 202
 65591  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                               // 203
 65592  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(34), Fother_case: -30, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)},    // 204
 65593  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(38), Fother_case: -25, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)},    // 205
 65594  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(112)},                                              // 206
 65595  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(114)},                                              // 207
 65596  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(43), Fother_case: -15, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)},    // 208
 65597  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(47), Fother_case: -22, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},     // 209
 65598  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                              // 210
 65599  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 211
 65600  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 212
 65601  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(51), Fother_case: -54, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)},    // 213
 65602  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(55), Fother_case: -48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)},    // 214
 65603  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 7, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                               // 215
 65604  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -116, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)},                            // 216
 65605  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(38), Fother_case: -60, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(116)},    // 217
 65606  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(59), Fother_case: -64, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(110)},    // 218
 65607  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                             // 219
 65608  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -7, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 220
 65609  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                               // 221
 65610  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -130, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 222
 65611  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 80, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 223
 65612  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 224
 65613  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(63), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 225
 65614  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(67), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 226
 65615  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(71), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 227
 65616  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(75), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 228
 65617  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(79), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 229
 65618  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(84), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 230
 65619  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 231
 65620  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(63), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 232
 65621  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(67), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 233
 65622  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(71), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 234
 65623  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(75), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 235
 65624  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(79), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 236
 65625  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(84), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},     // 237
 65626  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -80, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 238
 65627  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -80, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(78)},                             // 239
 65628  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                               // 240
 65629  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                              // 241
 65630  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(88), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},       // 242
 65631  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(88), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},      // 243
 65632  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 244
 65633  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26684), Fbprops: Tuint16_t(96)},                                               // 245
 65634  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26678), Fbprops: Tuint16_t(96)},                                               // 246
 65635  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26681), Fbprops: Tuint16_t(96)},                                              // 247
 65636  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(120)},                                              // 248
 65637  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 15, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 249
 65638  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -15, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 250
 65639  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                             // 251
 65640  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                              // 252
 65641  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 253
 65642  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(122)},                                            // 254
 65643  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                              // 255
 65644  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                            // 256
 65645  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                                              // 257
 65646  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 258
 65647  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)},                                            // 259
 65648  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 260
 65649  	{Fscript: Tuint8_t(70), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 261
 65650  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816)},                                                                      // 262
 65651  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 263
 65652  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 264
 65653  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                             // 265
 65654  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(126)},                                            // 266
 65655  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 267
 65656  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                            // 268
 65657  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 269
 65658  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 270
 65659  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(122)},                                            // 271
 65660  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(132)},                                                // 272
 65661  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(132)},                                               // 273
 65662  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                             // 274
 65663  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(118)},                                                                                   // 275
 65664  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                              // 276
 65665  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                    // 277
 65666  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8342), Fbprops: Tuint16_t(106)},                                             // 278
 65667  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                    // 279
 65668  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                              // 280
 65669  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 281
 65670  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(150), Fbprops: Tuint16_t(106)},                                              // 282
 65671  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(108), Fbprops: Tuint16_t(134)},                                                 // 283
 65672  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(124)},                                                                                   // 284
 65673  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(159), Fbprops: Tuint16_t(124)},                                              // 285
 65674  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                     // 286
 65675  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(165), Fbprops: Tuint16_t(136)},                                               // 287
 65676  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26660), Fbprops: Tuint16_t(128)},                                             // 288
 65677  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26660), Fbprops: Tuint16_t(130)},                                             // 289
 65678  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                              // 290
 65679  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 291
 65680  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2159), Fbprops: Tuint16_t(138)},                                              // 292
 65681  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(68)},                                               // 293
 65682  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(140)},                                                                                    // 294
 65683  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(30), Fbprops: Tuint16_t(124)},                                                // 295
 65684  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(92)},                                                                                     // 296
 65685  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(138)},                                             // 297
 65686  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                    // 298
 65687  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(124)},                                                                                   // 299
 65688  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(106)},                                                                                   // 300
 65689  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                    // 301
 65690  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12)},                                                                                                            // 302
 65691  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fbprops: Tuint16_t(132)},                                                                                     // 303
 65692  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                     // 304
 65693  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 305
 65694  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                              // 306
 65695  	{Fscript: Tuint8_t(4), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 307
 65696  	{Fscript: Tuint8_t(5), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                     // 308
 65697  	{Fscript: Tuint8_t(5), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                              // 309
 65698  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(138)},                                            // 310
 65699  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 311
 65700  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 312
 65701  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(92)},                                              // 313
 65702  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 314
 65703  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 315
 65704  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 316
 65705  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 317
 65706  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(136)},                                             // 318
 65707  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 319
 65708  	{Fscript: Tuint8_t(38), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 320
 65709  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 321
 65710  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 322
 65711  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 323
 65712  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(142)},                                            // 324
 65713  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 325
 65714  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                           // 326
 65715  	{Fscript: Tuint8_t(110), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(124)},                                           // 327
 65716  	{Fscript: Tuint8_t(42), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 328
 65717  	{Fscript: Tuint8_t(42), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 329
 65718  	{Fscript: Tuint8_t(42), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                            // 330
 65719  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(122)},                                                                                   // 331
 65720  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                              // 332
 65721  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 333
 65722  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                              // 334
 65723  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 335
 65724  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 336
 65725  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                              // 337
 65726  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26798), Fbprops: Tuint16_t(96)},                                              // 338
 65727  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26795), Fbprops: Tuint16_t(96)},                                              // 339
 65728  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18615), Fbprops: Tuint16_t(124)},                                            // 340
 65729  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18618), Fbprops: Tuint16_t(124)},                                            // 341
 65730  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18576), Fbprops: Tuint16_t(138)},                                             // 342
 65731  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 343
 65732  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                               // 344
 65733  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 345
 65734  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 346
 65735  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                              // 347
 65736  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 348
 65737  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                              // 349
 65738  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                              // 350
 65739  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18546), Fbprops: Tuint16_t(138)},                                             // 351
 65740  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                              // 352
 65741  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 353
 65742  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 354
 65743  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 355
 65744  	{Fscript: Tuint8_t(7), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                              // 356
 65745  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 357
 65746  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                              // 358
 65747  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 359
 65748  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 360
 65749  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                              // 361
 65750  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18519), Fbprops: Tuint16_t(138)},                                             // 362
 65751  	{Fscript: Tuint8_t(8), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 363
 65752  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 364
 65753  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                              // 365
 65754  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 366
 65755  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 367
 65756  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                              // 368
 65757  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18516), Fbprops: Tuint16_t(138)},                                             // 369
 65758  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 370
 65759  	{Fscript: Tuint8_t(9), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                              // 371
 65760  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 372
 65761  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 373
 65762  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 374
 65763  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 375
 65764  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 376
 65765  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 377
 65766  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(150)},                                             // 378
 65767  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 379
 65768  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 380
 65769  	{Fscript: Tuint8_t(10), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 381
 65770  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 382
 65771  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 383
 65772  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 384
 65773  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 385
 65774  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 386
 65775  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18513), Fbprops: Tuint16_t(138)},                                            // 387
 65776  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18513), Fbprops: Tuint16_t(68)},                                             // 388
 65777  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28753), Fbprops: Tuint16_t(68)},                                             // 389
 65778  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 390
 65779  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 391
 65780  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 392
 65781  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 393
 65782  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 394
 65783  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 395
 65784  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 396
 65785  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 397
 65786  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 398
 65787  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 399
 65788  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 400
 65789  	{Fscript: Tuint8_t(12), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 401
 65790  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 402
 65791  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 403
 65792  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 404
 65793  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 405
 65794  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 406
 65795  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(130)},                                             // 407
 65796  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 408
 65797  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 409
 65798  	{Fscript: Tuint8_t(13), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18528), Fbprops: Tuint16_t(138)},                                            // 410
 65799  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 411
 65800  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 412
 65801  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 413
 65802  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 414
 65803  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 415
 65804  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 416
 65805  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 417
 65806  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 418
 65807  	{Fscript: Tuint8_t(14), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 419
 65808  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 420
 65809  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 421
 65810  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 422
 65811  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 423
 65812  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 424
 65813  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 425
 65814  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 426
 65815  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 427
 65816  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 428
 65817  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(152)},                                              // 429
 65818  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(154)},                                             // 430
 65819  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 431
 65820  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)},                                             // 432
 65821  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 433
 65822  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 434
 65823  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 435
 65824  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 436
 65825  	{Fscript: Tuint8_t(72), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 437
 65826  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 438
 65827  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 439
 65828  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(152)},                                              // 440
 65829  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 441
 65830  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)},                                             // 442
 65831  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 443
 65832  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 444
 65833  	{Fscript: Tuint8_t(73), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 445
 65834  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 446
 65835  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 447
 65836  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 448
 65837  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 449
 65838  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 450
 65839  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 451
 65840  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 452
 65841  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 453
 65842  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 454
 65843  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(160)},                                             // 455
 65844  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 456
 65845  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(162)},                                             // 457
 65846  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 458
 65847  	{Fscript: Tuint8_t(74), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 459
 65848  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 460
 65849  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 461
 65850  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 462
 65851  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 463
 65852  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 464
 65853  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 465
 65854  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 466
 65855  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18549), Fbprops: Tuint16_t(138)},                                            // 467
 65856  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 468
 65857  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 469
 65858  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(164)},                                            // 470
 65859  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                             // 471
 65860  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 472
 65861  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 473
 65862  	{Fscript: Tuint8_t(17), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 7264, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                           // 474
 65863  	{Fscript: Tuint8_t(17), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 3008, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(166)},                          // 475
 65864  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18510), Fbprops: Tuint16_t(68)},                                             // 476
 65865  	{Fscript: Tuint8_t(17), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                             // 477
 65866  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(6), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 478
 65867  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(6), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(168)},                                              // 479
 65868  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(7), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(168)},                                              // 480
 65869  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(7), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 481
 65870  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(8), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 482
 65871  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 483
 65872  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 484
 65873  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 485
 65874  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 486
 65875  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 487
 65876  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 488
 65877  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 489
 65878  	{Fscript: Tuint8_t(75), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 490
 65879  	{Fscript: Tuint8_t(76), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 38864, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(170)},                         // 491
 65880  	{Fscript: Tuint8_t(76), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(170)},                             // 492
 65881  	{Fscript: Tuint8_t(76), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                             // 493
 65882  	{Fscript: Tuint8_t(77), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)},                                            // 494
 65883  	{Fscript: Tuint8_t(77), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 495
 65884  	{Fscript: Tuint8_t(77), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 496
 65885  	{Fscript: Tuint8_t(77), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 497
 65886  	{Fscript: Tuint8_t(78), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(52)},                                             // 498
 65887  	{Fscript: Tuint8_t(78), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 499
 65888  	{Fscript: Tuint8_t(78), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 500
 65889  	{Fscript: Tuint8_t(78), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 501
 65890  	{Fscript: Tuint8_t(79), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 502
 65891  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 503
 65892  	{Fscript: Tuint8_t(79), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 504
 65893  	{Fscript: Tuint8_t(25), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 505
 65894  	{Fscript: Tuint8_t(25), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 506
 65895  	{Fscript: Tuint8_t(25), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 507
 65896  	{Fscript: Tuint8_t(25), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 508
 65897  	{Fscript: Tuint8_t(26), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 509
 65898  	{Fscript: Tuint8_t(26), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 510
 65899  	{Fscript: Tuint8_t(26), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(174)},                                             // 511
 65900  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18573), Fbprops: Tuint16_t(124)},                                            // 512
 65901  	{Fscript: Tuint8_t(27), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 513
 65902  	{Fscript: Tuint8_t(27), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 514
 65903  	{Fscript: Tuint8_t(28), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 515
 65904  	{Fscript: Tuint8_t(28), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 516
 65905  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 517
 65906  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(140)},                                             // 518
 65907  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(100)},                                             // 519
 65908  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 520
 65909  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 521
 65910  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 522
 65911  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 523
 65912  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 524
 65913  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                             // 525
 65914  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 526
 65915  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 527
 65916  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 528
 65917  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 529
 65918  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 530
 65919  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28777), Fbprops: Tuint16_t(106)},                                            // 531
 65920  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28777), Fbprops: Tuint16_t(124)},                                            // 532
 65921  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 533
 65922  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)},                                            // 534
 65923  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 535
 65924  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(176)},                                            // 536
 65925  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(178)},                                             // 537
 65926  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(66)},                                                // 538
 65927  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 539
 65928  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 540
 65929  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 541
 65930  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(180)},                                             // 542
 65931  	{Fscript: Tuint8_t(19), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 543
 65932  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 544
 65933  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 545
 65934  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 546
 65935  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 547
 65936  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 548
 65937  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 549
 65938  	{Fscript: Tuint8_t(29), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 550
 65939  	{Fscript: Tuint8_t(30), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 551
 65940  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 552
 65941  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)},                                             // 553
 65942  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 554
 65943  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 555
 65944  	{Fscript: Tuint8_t(89), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 556
 65945  	{Fscript: Tuint8_t(80), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 557
 65946  	{Fscript: Tuint8_t(33), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 558
 65947  	{Fscript: Tuint8_t(33), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 559
 65948  	{Fscript: Tuint8_t(33), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 560
 65949  	{Fscript: Tuint8_t(33), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 561
 65950  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 562
 65951  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 563
 65952  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 564
 65953  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                            // 565
 65954  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                           // 566
 65955  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 567
 65956  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 568
 65957  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 569
 65958  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 570
 65959  	{Fscript: Tuint8_t(106), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 571
 65960  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(184)},                                             // 572
 65961  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 573
 65962  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 574
 65963  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 575
 65964  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 576
 65965  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 577
 65966  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 578
 65967  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 579
 65968  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 580
 65969  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 581
 65970  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 582
 65971  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 583
 65972  	{Fscript: Tuint8_t(93), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 584
 65973  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 585
 65974  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 586
 65975  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 587
 65976  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 588
 65977  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 589
 65978  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 590
 65979  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 591
 65980  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 592
 65981  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 593
 65982  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 594
 65983  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(174)},                                            // 595
 65984  	{Fscript: Tuint8_t(119), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 596
 65985  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 597
 65986  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 598
 65987  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 599
 65988  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(186)},                                             // 600
 65989  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 601
 65990  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 602
 65991  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 603
 65992  	{Fscript: Tuint8_t(97), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 604
 65993  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 605
 65994  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 606
 65995  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                              // 607
 65996  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(94)},                                              // 608
 65997  	{Fscript: Tuint8_t(98), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 609
 65998  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(63), Fother_case: -6222, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 610
 65999  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(67), Fother_case: -6221, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 611
 66000  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(71), Fother_case: -6212, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 612
 66001  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(75), Fother_case: -6210, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 613
 66002  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(79), Fother_case: -6210, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 614
 66003  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(79), Fother_case: -6211, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 615
 66004  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(84), Fother_case: -6204, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 616
 66005  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(88), Fother_case: -6180, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},   // 617
 66006  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(108), Fother_case: 35267, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},  // 618
 66007  	{Fscript: Tuint8_t(17), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -3008, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                          // 619
 66008  	{Fscript: Tuint8_t(96), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 620
 66009  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26762), Fbprops: Tuint16_t(96)},                                              // 621
 66010  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26630), Fbprops: Tuint16_t(96)},                                              // 622
 66011  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18498), Fbprops: Tuint16_t(188)},                                            // 623
 66012  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26666), Fbprops: Tuint16_t(96)},                                              // 624
 66013  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26696), Fbprops: Tuint16_t(96)},                                              // 625
 66014  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26780), Fbprops: Tuint16_t(96)},                                              // 626
 66015  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18474), Fbprops: Tuint16_t(160)},                                             // 627
 66016  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18501), Fbprops: Tuint16_t(82)},                                              // 628
 66017  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18474), Fbprops: Tuint16_t(82)},                                              // 629
 66018  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18438), Fbprops: Tuint16_t(82)},                                              // 630
 66019  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18594), Fbprops: Tuint16_t(82)},                                              // 631
 66020  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18498), Fbprops: Tuint16_t(82)},                                              // 632
 66021  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26750), Fbprops: Tuint16_t(96)},                                              // 633
 66022  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18435), Fbprops: Tuint16_t(160)},                                             // 634
 66023  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26690), Fbprops: Tuint16_t(96)},                                              // 635
 66024  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18453), Fbprops: Tuint16_t(82)},                                              // 636
 66025  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                               // 637
 66026  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)},                                               // 638
 66027  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(190)},                                              // 639
 66028  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 35332, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 640
 66029  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 3814, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 641
 66030  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 35384, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                 // 642
 66031  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(192)},                                                                    // 643
 66032  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(190)},                                                                    // 644
 66033  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(194)},                                                                    // 645
 66034  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(190)},                                              // 646
 66035  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26636), Fbprops: Tuint16_t(102)},                                             // 647
 66036  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26687), Fbprops: Tuint16_t(96)},                                              // 648
 66037  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26648), Fbprops: Tuint16_t(96)},                                              // 649
 66038  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(92), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                             // 650
 66039  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(92), Fother_case: -1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                            // 651
 66040  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                                                                     // 652
 66041  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(92), Fother_case: -58, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                           // 653
 66042  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -7615, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                 // 654
 66043  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                               // 655
 66044  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                              // 656
 66045  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 74, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                              // 657
 66046  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 86, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                              // 658
 66047  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 100, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 659
 66048  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 128, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 660
 66049  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 112, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 661
 66050  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 126, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                             // 662
 66051  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                               // 663
 66052  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fother_case: -8, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)},                              // 664
 66053  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                                               // 665
 66054  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 9, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                               // 666
 66055  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -74, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                             // 667
 66056  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(8), Fgbprop: Tuint8_t(12), Fother_case: -9, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(86)},                              // 668
 66057  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(21), Fother_case: -7173, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},   // 669
 66058  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -86, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                             // 670
 66059  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -100, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 671
 66060  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -112, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 672
 66061  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -128, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 673
 66062  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -126, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 674
 66063  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(52)},                                             // 675
 66064  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(196)},                                               // 676
 66065  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(13), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(198)},                                              // 677
 66066  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(200)},                                              // 678
 66067  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(200)},                                              // 679
 66068  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(202)},                                            // 680
 66069  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(64)},                                             // 681
 66070  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(204)},                                            // 682
 66071  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(204)},                                            // 683
 66072  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(206)},                                            // 684
 66073  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(206)},                                            // 685
 66074  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(206)},                                            // 686
 66075  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(208)},                                            // 687
 66076  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(27), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(45056), Fbprops: Tuint16_t(50)},                                              // 688
 66077  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(28), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(4096), Fbprops: Tuint16_t(50)},                                               // 689
 66078  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(20480), Fbprops: Tuint16_t(134)},                                              // 690
 66079  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(36864), Fbprops: Tuint16_t(134)},                                              // 691
 66080  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(30720), Fbprops: Tuint16_t(134)},                                              // 692
 66081  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(24576), Fbprops: Tuint16_t(134)},                                              // 693
 66082  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(40960), Fbprops: Tuint16_t(134)},                                              // 694
 66083  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(29), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8291), Fbprops: Tuint16_t(52)},                                              // 695
 66084  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(54)},                                             // 696
 66085  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(64)},                                             // 697
 66086  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(210)},                                            // 698
 66087  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(212)},                                            // 699
 66088  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(16), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(138)},                                            // 700
 66089  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(16), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(214)},                                            // 701
 66090  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(64)},                                              // 702
 66091  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 703
 66092  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 704
 66093  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(202)},                                            // 705
 66094  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(218)},                                               // 706
 66095  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(220)},                                               // 707
 66096  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(22528), Fbprops: Tuint16_t(134)},                                              // 708
 66097  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(38912), Fbprops: Tuint16_t(134)},                                              // 709
 66098  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(16384), Fbprops: Tuint16_t(134)},                                              // 710
 66099  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(32768), Fbprops: Tuint16_t(134)},                                              // 711
 66100  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(222)},                                               // 712
 66101  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(118)},                                            // 713
 66102  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(224)},                                            // 714
 66103  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                            // 715
 66104  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(226)},                                            // 716
 66105  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(226)},                                            // 717
 66106  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336)},                                                                      // 718
 66107  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(228)},                                             // 719
 66108  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(120)},                                             // 720
 66109  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(11), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(230)},                                             // 721
 66110  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26753), Fbprops: Tuint16_t(102)},                                             // 722
 66111  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 723
 66112  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(112)},                                             // 724
 66113  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(232)},                                             // 725
 66114  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(234)},                                            // 726
 66115  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(236)},                                            // 727
 66116  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(96), Fother_case: -7517, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},   // 728
 66117  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                            // 729
 66118  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(100), Fother_case: -8383, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                        // 730
 66119  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(104), Fother_case: -8262, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                        // 731
 66120  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(238)},                                            // 732
 66121  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 28, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                    // 733
 66122  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(240)},                                             // 734
 66123  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(242)},                                             // 735
 66124  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(244)},                                             // 736
 66125  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -28, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                   // 737
 66126  	{Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fother_case: 16, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 738
 66127  	{Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fother_case: -16, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 739
 66128  	{Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                                                    // 740
 66129  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(246)},                                            // 741
 66130  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(246)},                                            // 742
 66131  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(64)},                                             // 743
 66132  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(248)},                                            // 744
 66133  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(250)},                                            // 745
 66134  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(248)},                                            // 746
 66135  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(248)},                                            // 747
 66136  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(252)},                                            // 748
 66137  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(254)},                                            // 749
 66138  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(254)},                                            // 750
 66139  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(54)},                                             // 751
 66140  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(256)},                                            // 752
 66141  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(258)},                                             // 753
 66142  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fother_case: 26, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(260)},                           // 754
 66143  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fother_case: 26, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(262)},                           // 755
 66144  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fother_case: -26, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(264)},                          // 756
 66145  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(266)},                                            // 757
 66146  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(268)},                                            // 758
 66147  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(270)},                                            // 759
 66148  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(268)},                                            // 760
 66149  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(256)},                                            // 761
 66150  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(272)},                                            // 762
 66151  	{Fscript: Tuint8_t(88), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(54)},                                             // 763
 66152  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 764
 66153  	{Fscript: Tuint8_t(35), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                             // 765
 66154  	{Fscript: Tuint8_t(35), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                            // 766
 66155  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10743, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 767
 66156  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -3814, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                 // 768
 66157  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10727, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 769
 66158  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -10795, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                // 770
 66159  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -10792, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                // 771
 66160  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10780, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 772
 66161  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10749, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 773
 66162  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10783, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 774
 66163  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10782, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 775
 66164  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -10815, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 776
 66165  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(60)},                                              // 777
 66166  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 778
 66167  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 779
 66168  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 780
 66169  	{Fscript: Tuint8_t(34), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 781
 66170  	{Fscript: Tuint8_t(17), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -7264, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                          // 782
 66171  	{Fscript: Tuint8_t(90), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 783
 66172  	{Fscript: Tuint8_t(90), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                             // 784
 66173  	{Fscript: Tuint8_t(90), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 785
 66174  	{Fscript: Tuint8_t(90), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                             // 786
 66175  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                              // 787
 66176  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(20), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 788
 66177  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(19), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(216)},                                            // 789
 66178  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(274)},                                             // 790
 66179  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(276)},                                            // 791
 66180  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28726), Fbprops: Tuint16_t(54)},                                             // 792
 66181  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(278)},                                            // 793
 66182  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(280)},                                            // 794
 66183  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(282)},                                            // 795
 66184  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(276)},                                            // 796
 66185  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(212)},                                            // 797
 66186  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(54)},                                             // 798
 66187  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 799
 66188  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(284)},                                             // 800
 66189  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                            // 801
 66190  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(216)},                                            // 802
 66191  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(216)},                                            // 803
 66192  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(62)},                                             // 804
 66193  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(62)},                                             // 805
 66194  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(54)},                                             // 806
 66195  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(202)},                                            // 807
 66196  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(206)},                                            // 808
 66197  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(206)},                                            // 809
 66198  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26669), Fbprops: Tuint16_t(96)},                                              // 810
 66199  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(286)},                                             // 811
 66200  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(288)},                                            // 812
 66201  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18525), Fbprops: Tuint16_t(136)},                                             // 813
 66202  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28819), Fbprops: Tuint16_t(68)},                                             // 814
 66203  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                             // 815
 66204  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18564), Fbprops: Tuint16_t(82)},                                              // 816
 66205  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28804), Fbprops: Tuint16_t(236)},                                            // 817
 66206  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28687), Fbprops: Tuint16_t(68)},                                             // 818
 66207  	{Fscript: Tuint8_t(20), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 819
 66208  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26717), Fbprops: Tuint16_t(96)},                                              // 820
 66209  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28765), Fbprops: Tuint16_t(290)},                                            // 821
 66210  	{Fscript: Tuint8_t(20), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 822
 66211  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28765), Fbprops: Tuint16_t(126)},                                            // 823
 66212  	{Fscript: Tuint8_t(21), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 824
 66213  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(68)},                                             // 825
 66214  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18525), Fbprops: Tuint16_t(94)},                                              // 826
 66215  	{Fscript: Tuint8_t(21), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 827
 66216  	{Fscript: Tuint8_t(22), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 828
 66217  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 829
 66218  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(168)},                                             // 830
 66219  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(68)},                                             // 831
 66220  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(68)},                                             // 832
 66221  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 833
 66222  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 834
 66223  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 835
 66224  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(236)},                                            // 836
 66225  	{Fscript: Tuint8_t(21), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 837
 66226  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(292)},                                             // 838
 66227  	{Fscript: Tuint8_t(24), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 839
 66228  	{Fscript: Tuint8_t(24), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 840
 66229  	{Fscript: Tuint8_t(24), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 841
 66230  	{Fscript: Tuint8_t(111), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 842
 66231  	{Fscript: Tuint8_t(111), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                            // 843
 66232  	{Fscript: Tuint8_t(111), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 844
 66233  	{Fscript: Tuint8_t(111), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 845
 66234  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 846
 66235  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 847
 66236  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 848
 66237  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 849
 66238  	{Fscript: Tuint8_t(99), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 850
 66239  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(108), Fother_case: 1, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},      // 851
 66240  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fcaseset: Tuint8_t(108), Fother_case: -35267, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)}, // 852
 66241  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 853
 66242  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                              // 854
 66243  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                               // 855
 66244  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(92)},                                               // 856
 66245  	{Fscript: Tuint8_t(2), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(88)},                                               // 857
 66246  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 858
 66247  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                            // 859
 66248  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 860
 66249  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 861
 66250  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 862
 66251  	{Fscript: Tuint8_t(112), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 863
 66252  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28762), Fbprops: Tuint16_t(56)},                                             // 864
 66253  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -35332, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 865
 66254  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(56)},                                             // 866
 66255  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42280, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 867
 66256  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: 48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                    // 868
 66257  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42308, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 869
 66258  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42319, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 870
 66259  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42315, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 871
 66260  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42305, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 872
 66261  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42258, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 873
 66262  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42282, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 874
 66263  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42261, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 875
 66264  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 928, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 876
 66265  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -48, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                   // 877
 66266  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -42307, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 878
 66267  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: -35384, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                                                // 879
 66268  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                                                    // 880
 66269  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 881
 66270  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 882
 66271  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                             // 883
 66272  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 884
 66273  	{Fscript: Tuint8_t(36), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 885
 66274  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18612), Fbprops: Tuint16_t(68)},                                             // 886
 66275  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18609), Fbprops: Tuint16_t(68)},                                             // 887
 66276  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18600), Fbprops: Tuint16_t(68)},                                             // 888
 66277  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14504), Fbprops: Tuint16_t(68)},                                             // 889
 66278  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14504), Fbprops: Tuint16_t(68)},                                             // 890
 66279  	{Fscript: Tuint8_t(37), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 891
 66280  	{Fscript: Tuint8_t(37), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 892
 66281  	{Fscript: Tuint8_t(37), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 893
 66282  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 894
 66283  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 895
 66284  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 896
 66285  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 897
 66286  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 898
 66287  	{Fscript: Tuint8_t(100), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 899
 66288  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26666), Fbprops: Tuint16_t(96)},                                               // 900
 66289  	{Fscript: Tuint8_t(6), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18507), Fbprops: Tuint16_t(82)},                                               // 901
 66290  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 902
 66291  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 903
 66292  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 904
 66293  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 905
 66294  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18567), Fbprops: Tuint16_t(188)},                                            // 906
 66295  	{Fscript: Tuint8_t(39), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 907
 66296  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 908
 66297  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 909
 66298  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 910
 66299  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                            // 911
 66300  	{Fscript: Tuint8_t(101), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 912
 66301  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 913
 66302  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 914
 66303  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 915
 66304  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 916
 66305  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 917
 66306  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 918
 66307  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 919
 66308  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 920
 66309  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18480), Fbprops: Tuint16_t(136)},                                             // 921
 66310  	{Fscript: Tuint8_t(40), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 922
 66311  	{Fscript: Tuint8_t(16), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                             // 923
 66312  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 924
 66313  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 925
 66314  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 926
 66315  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 927
 66316  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 928
 66317  	{Fscript: Tuint8_t(105), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 929
 66318  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 930
 66319  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 931
 66320  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(156)},                                            // 932
 66321  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 933
 66322  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(294)},                                            // 934
 66323  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 935
 66324  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 936
 66325  	{Fscript: Tuint8_t(107), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 937
 66326  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 938
 66327  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 939
 66328  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 940
 66329  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 941
 66330  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 942
 66331  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 943
 66332  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -928, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                                                  // 944
 66333  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                                                     // 945
 66334  	{Fscript: Tuint8_t(76), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -38864, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(70)},                         // 946
 66335  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(160)},                                            // 947
 66336  	{Fscript: Tuint8_t(113), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 948
 66337  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(9), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 949
 66338  	{Fscript: Tuint8_t(18), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(10), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 950
 66339  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(4), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432)},                                                                      // 951
 66340  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(3), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432)},                                                                      // 952
 66341  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                             // 953
 66342  	{Fscript: Tuint8_t(71), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(118)},                                            // 954
 66343  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(296)},                                                                                    // 955
 66344  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28705), Fbprops: Tuint16_t(54)},                                             // 956
 66345  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28705), Fbprops: Tuint16_t(54)},                                             // 957
 66346  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(298)},                                              // 958
 66347  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(39), Fbprops: Tuint16_t(82)},                                                  // 959
 66348  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28711), Fbprops: Tuint16_t(68)},                                              // 960
 66349  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(178)},                                             // 961
 66350  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(300)},                                             // 962
 66351  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 963
 66352  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(122)},                                            // 964
 66353  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 965
 66354  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 966
 66355  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(126)},                                            // 967
 66356  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(302)},                                            // 968
 66357  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(302)},                                            // 969
 66358  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(106)},                                             // 970
 66359  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(304)},                                             // 971
 66360  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(306)},                                             // 972
 66361  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(124)},                                            // 973
 66362  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 974
 66363  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(158)},                                            // 975
 66364  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                             // 976
 66365  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(118)},                                            // 977
 66366  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(224)},                                            // 978
 66367  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(226)},                                            // 979
 66368  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(302)},                                            // 980
 66369  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(308)},                                            // 981
 66370  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(12288), Fbprops: Tuint16_t(126)},                                            // 982
 66371  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(8192), Fbprops: Tuint16_t(68)},                                              // 983
 66372  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(310)},                                            // 984
 66373  	{Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(312)},                                                   // 985
 66374  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(314)},                                            // 986
 66375  	{Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(316)},                                                  // 987
 66376  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(124)},                                            // 988
 66377  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(22), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(318)},                                            // 989
 66378  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(18), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(318)},                                            // 990
 66379  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28825), Fbprops: Tuint16_t(106)},                                            // 991
 66380  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18525), Fbprops: Tuint16_t(320)},                                              // 992
 66381  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(322)},                                              // 993
 66382  	{Fscript: Tuint8_t(31), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 994
 66383  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18552), Fbprops: Tuint16_t(68)},                                             // 995
 66384  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28792), Fbprops: Tuint16_t(68)},                                             // 996
 66385  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18483), Fbprops: Tuint16_t(68)},                                             // 997
 66386  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18555), Fbprops: Tuint16_t(68)},                                             // 998
 66387  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18483), Fbprops: Tuint16_t(68)},                                             // 999
 66388  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(82)},                                              // 1000
 66389  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                              // 1001
 66390  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                              // 1002
 66391  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                              // 1003
 66392  	{Fscript: Tuint8_t(102), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1004
 66393  	{Fscript: Tuint8_t(103), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1005
 66394  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26651), Fbprops: Tuint16_t(96)},                                              // 1006
 66395  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10267), Fbprops: Tuint16_t(68)},                                             // 1007
 66396  	{Fscript: Tuint8_t(81), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1008
 66397  	{Fscript: Tuint8_t(81), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1009
 66398  	{Fscript: Tuint8_t(82), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1010
 66399  	{Fscript: Tuint8_t(82), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1011
 66400  	{Fscript: Tuint8_t(53), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1012
 66401  	{Fscript: Tuint8_t(53), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1013
 66402  	{Fscript: Tuint8_t(85), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1014
 66403  	{Fscript: Tuint8_t(85), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 1015
 66404  	{Fscript: Tuint8_t(91), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1016
 66405  	{Fscript: Tuint8_t(91), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 1017
 66406  	{Fscript: Tuint8_t(91), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1018
 66407  	{Fscript: Tuint8_t(83), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 40, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                             // 1019
 66408  	{Fscript: Tuint8_t(83), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -40, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                            // 1020
 66409  	{Fscript: Tuint8_t(86), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1021
 66410  	{Fscript: Tuint8_t(87), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1022
 66411  	{Fscript: Tuint8_t(87), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1023
 66412  	{Fscript: Tuint8_t(145), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 40, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 1024
 66413  	{Fscript: Tuint8_t(145), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -40, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                           // 1025
 66414  	{Fscript: Tuint8_t(127), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1026
 66415  	{Fscript: Tuint8_t(125), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1027
 66416  	{Fscript: Tuint8_t(125), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1028
 66417  	{Fscript: Tuint8_t(161), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 39, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 1029
 66418  	{Fscript: Tuint8_t(161), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -39, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                           // 1030
 66419  	{Fscript: Tuint8_t(49), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1031
 66420  	{Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(94)},                                                                     // 1032
 66421  	{Fscript: Tuint8_t(32), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1033
 66422  	{Fscript: Tuint8_t(114), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1034
 66423  	{Fscript: Tuint8_t(114), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                           // 1035
 66424  	{Fscript: Tuint8_t(114), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1036
 66425  	{Fscript: Tuint8_t(133), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1037
 66426  	{Fscript: Tuint8_t(133), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1038
 66427  	{Fscript: Tuint8_t(133), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1039
 66428  	{Fscript: Tuint8_t(132), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1040
 66429  	{Fscript: Tuint8_t(132), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1041
 66430  	{Fscript: Tuint8_t(139), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1042
 66431  	{Fscript: Tuint8_t(139), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1043
 66432  	{Fscript: Tuint8_t(95), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1044
 66433  	{Fscript: Tuint8_t(95), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1045
 66434  	{Fscript: Tuint8_t(95), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                            // 1046
 66435  	{Fscript: Tuint8_t(104), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1047
 66436  	{Fscript: Tuint8_t(104), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1048
 66437  	{Fscript: Tuint8_t(122), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1049
 66438  	{Fscript: Tuint8_t(121), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1050
 66439  	{Fscript: Tuint8_t(121), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1051
 66440  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1052
 66441  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1053
 66442  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 1054
 66443  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                             // 1055
 66444  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1056
 66445  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1057
 66446  	{Fscript: Tuint8_t(92), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(124)},                                            // 1058
 66447  	{Fscript: Tuint8_t(115), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1059
 66448  	{Fscript: Tuint8_t(115), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1060
 66449  	{Fscript: Tuint8_t(115), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1061
 66450  	{Fscript: Tuint8_t(131), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1062
 66451  	{Fscript: Tuint8_t(131), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1063
 66452  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1064
 66453  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1065
 66454  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1066
 66455  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1067
 66456  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                            // 1068
 66457  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34918), Fbprops: Tuint16_t(106)},                                            // 1069
 66458  	{Fscript: Tuint8_t(51), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1070
 66459  	{Fscript: Tuint8_t(108), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1071
 66460  	{Fscript: Tuint8_t(108), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                            // 1072
 66461  	{Fscript: Tuint8_t(108), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(106)},                                           // 1073
 66462  	{Fscript: Tuint8_t(116), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1074
 66463  	{Fscript: Tuint8_t(116), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1075
 66464  	{Fscript: Tuint8_t(117), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1076
 66465  	{Fscript: Tuint8_t(117), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1077
 66466  	{Fscript: Tuint8_t(54), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1078
 66467  	{Fscript: Tuint8_t(54), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(106)},                                            // 1079
 66468  	{Fscript: Tuint8_t(54), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1080
 66469  	{Fscript: Tuint8_t(118), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1081
 66470  	{Fscript: Tuint8_t(140), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 64, Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(74)},                            // 1082
 66471  	{Fscript: Tuint8_t(140), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -64, Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(76)},                           // 1083
 66472  	{Fscript: Tuint8_t(140), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1084
 66473  	{Fscript: Tuint8_t(62), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                    // 1085
 66474  	{Fscript: Tuint8_t(62), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(294)},                                                                                   // 1086
 66475  	{Fscript: Tuint8_t(62), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                             // 1087
 66476  	{Fscript: Tuint8_t(62), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(138)},                                             // 1088
 66477  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(2048), Fbprops: Tuint16_t(68)},                                               // 1089
 66478  	{Fscript: Tuint8_t(65), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1090
 66479  	{Fscript: Tuint8_t(65), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1091
 66480  	{Fscript: Tuint8_t(65), Fchartype: Tuint8_t(17), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(126)},                                            // 1092
 66481  	{Fscript: Tuint8_t(152), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1093
 66482  	{Fscript: Tuint8_t(152), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1094
 66483  	{Fscript: Tuint8_t(63), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(82)},                                                                                    // 1095
 66484  	{Fscript: Tuint8_t(63), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1096
 66485  	{Fscript: Tuint8_t(63), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                   // 1097
 66486  	{Fscript: Tuint8_t(63), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(124)},                                                                                  // 1098
 66487  	{Fscript: Tuint8_t(67), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                              // 1099
 66488  	{Fscript: Tuint8_t(67), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1100
 66489  	{Fscript: Tuint8_t(67), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(124)},                                            // 1101
 66490  	{Fscript: Tuint8_t(156), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1102
 66491  	{Fscript: Tuint8_t(156), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1103
 66492  	{Fscript: Tuint8_t(153), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1104
 66493  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1105
 66494  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1106
 66495  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1107
 66496  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1108
 66497  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1109
 66498  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1110
 66499  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                            // 1111
 66500  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1112
 66501  	{Fscript: Tuint8_t(120), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(182)},                                            // 1113
 66502  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 1114
 66503  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1115
 66504  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1116
 66505  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1117
 66506  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1118
 66507  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1119
 66508  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1120
 66509  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(132)},                                              // 1121
 66510  	{Fscript: Tuint8_t(41), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1122
 66511  	{Fscript: Tuint8_t(124), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1123
 66512  	{Fscript: Tuint8_t(124), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1124
 66513  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1125
 66514  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1126
 66515  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1127
 66516  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1128
 66517  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1129
 66518  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1130
 66519  	{Fscript: Tuint8_t(43), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1131
 66520  	{Fscript: Tuint8_t(50), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1132
 66521  	{Fscript: Tuint8_t(50), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1133
 66522  	{Fscript: Tuint8_t(50), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1134
 66523  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1135
 66524  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1136
 66525  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1137
 66526  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 1138
 66527  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 1139
 66528  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1140
 66529  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1141
 66530  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 1142
 66531  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1143
 66532  	{Fscript: Tuint8_t(44), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1144
 66533  	{Fscript: Tuint8_t(15), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1145
 66534  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1146
 66535  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1147
 66536  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1148
 66537  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 1149
 66538  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1150
 66539  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1151
 66540  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 1152
 66541  	{Fscript: Tuint8_t(48), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1153
 66542  	{Fscript: Tuint8_t(57), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1154
 66543  	{Fscript: Tuint8_t(57), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1155
 66544  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1156
 66545  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1157
 66546  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1158
 66547  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1159
 66548  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1160
 66549  	{Fscript: Tuint8_t(55), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1161
 66550  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1162
 66551  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26705), Fbprops: Tuint16_t(130)},                                             // 1163
 66552  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1164
 66553  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18513), Fbprops: Tuint16_t(144)},                                             // 1165
 66554  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1166
 66555  	{Fscript: Tuint8_t(84), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26705), Fbprops: Tuint16_t(102)},                                             // 1167
 66556  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26705), Fbprops: Tuint16_t(96)},                                              // 1168
 66557  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 1169
 66558  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 1170
 66559  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(324)},                                             // 1171
 66560  	{Fscript: Tuint8_t(47), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1172
 66561  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1173
 66562  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1174
 66563  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1175
 66564  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1176
 66565  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1177
 66566  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1178
 66567  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1179
 66568  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1180
 66569  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1181
 66570  	{Fscript: Tuint8_t(144), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 1182
 66571  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1183
 66572  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                             // 1184
 66573  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1185
 66574  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1186
 66575  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1187
 66576  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1188
 66577  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1189
 66578  	{Fscript: Tuint8_t(56), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1190
 66579  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1191
 66580  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                            // 1192
 66581  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1193
 66582  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1194
 66583  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1195
 66584  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1196
 66585  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1197
 66586  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1198
 66587  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1199
 66588  	{Fscript: Tuint8_t(135), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(176)},                                           // 1200
 66589  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1201
 66590  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1202
 66591  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1203
 66592  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1204
 66593  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1205
 66594  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1206
 66595  	{Fscript: Tuint8_t(52), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1207
 66596  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1208
 66597  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1209
 66598  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1210
 66599  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                             // 1211
 66600  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1212
 66601  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1213
 66602  	{Fscript: Tuint8_t(45), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1214
 66603  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1215
 66604  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1216
 66605  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                           // 1217
 66606  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1218
 66607  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1219
 66608  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1220
 66609  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1221
 66610  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1222
 66611  	{Fscript: Tuint8_t(137), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1223
 66612  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1224
 66613  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1225
 66614  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1226
 66615  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1227
 66616  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1228
 66617  	{Fscript: Tuint8_t(60), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1229
 66618  	{Fscript: Tuint8_t(136), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 1230
 66619  	{Fscript: Tuint8_t(136), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                           // 1231
 66620  	{Fscript: Tuint8_t(136), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1232
 66621  	{Fscript: Tuint8_t(136), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1233
 66622  	{Fscript: Tuint8_t(136), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1234
 66623  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1235
 66624  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(148)},                                            // 1236
 66625  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1237
 66626  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1238
 66627  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(172)},                                            // 1239
 66628  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1240
 66629  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1241
 66630  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1242
 66631  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1243
 66632  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1244
 66633  	{Fscript: Tuint8_t(157), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1245
 66634  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1246
 66635  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1247
 66636  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1248
 66637  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1249
 66638  	{Fscript: Tuint8_t(64), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1250
 66639  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1251
 66640  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1252
 66641  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(130)},                                            // 1253
 66642  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 1254
 66643  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1255
 66644  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1256
 66645  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1257
 66646  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1258
 66647  	{Fscript: Tuint8_t(149), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1259
 66648  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1260
 66649  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1261
 66650  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1262
 66651  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1263
 66652  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(326)},                                            // 1264
 66653  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                            // 1265
 66654  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1266
 66655  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1267
 66656  	{Fscript: Tuint8_t(148), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1268
 66657  	{Fscript: Tuint8_t(134), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1269
 66658  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1270
 66659  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1271
 66660  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1272
 66661  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(146)},                                            // 1273
 66662  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1274
 66663  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1275
 66664  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1276
 66665  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1277
 66666  	{Fscript: Tuint8_t(142), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1278
 66667  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1279
 66668  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1280
 66669  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1281
 66670  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1282
 66671  	{Fscript: Tuint8_t(143), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1283
 66672  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1284
 66673  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1285
 66674  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1286
 66675  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1287
 66676  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(4), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                               // 1288
 66677  	{Fscript: Tuint8_t(59), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1289
 66678  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1290
 66679  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                             // 1291
 66680  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1292
 66681  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(146)},                                             // 1293
 66682  	{Fscript: Tuint8_t(61), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                            // 1294
 66683  	{Fscript: Tuint8_t(150), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1295
 66684  	{Fscript: Tuint8_t(150), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1296
 66685  	{Fscript: Tuint8_t(150), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1297
 66686  	{Fscript: Tuint8_t(150), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1298
 66687  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1299
 66688  	{Fscript: Tuint8_t(11), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1300
 66689  	{Fscript: Tuint8_t(94), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1301
 66690  	{Fscript: Tuint8_t(94), Fchartype: Tuint8_t(14), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1302
 66691  	{Fscript: Tuint8_t(94), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                            // 1303
 66692  	{Fscript: Tuint8_t(66), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1304
 66693  	{Fscript: Tuint8_t(66), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1305
 66694  	{Fscript: Tuint8_t(109), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1306
 66695  	{Fscript: Tuint8_t(109), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(322)},                                             // 1307
 66696  	{Fscript: Tuint8_t(138), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1308
 66697  	{Fscript: Tuint8_t(130), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1309
 66698  	{Fscript: Tuint8_t(130), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1310
 66699  	{Fscript: Tuint8_t(130), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1311
 66700  	{Fscript: Tuint8_t(159), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1312
 66701  	{Fscript: Tuint8_t(159), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1313
 66702  	{Fscript: Tuint8_t(126), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1314
 66703  	{Fscript: Tuint8_t(126), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1315
 66704  	{Fscript: Tuint8_t(126), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1316
 66705  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1317
 66706  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1318
 66707  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1319
 66708  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1320
 66709  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1321
 66710  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1322
 66711  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                            // 1323
 66712  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 1324
 66713  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1325
 66714  	{Fscript: Tuint8_t(128), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1326
 66715  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(74)},                            // 1327
 66716  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -32, Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(76)},                           // 1328
 66717  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1329
 66718  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1330
 66719  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1331
 66720  	{Fscript: Tuint8_t(151), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1332
 66721  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1333
 66722  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                            // 1334
 66723  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(144)},                                            // 1335
 66724  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(128)},                                            // 1336
 66725  	{Fscript: Tuint8_t(123), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                             // 1337
 66726  	{Fscript: Tuint8_t(146), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 1338
 66727  	{Fscript: Tuint8_t(147), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 1339
 66728  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(68)},                                             // 1340
 66729  	{Fscript: Tuint8_t(158), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(328)},                                            // 1341
 66730  	{Fscript: Tuint8_t(23), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(164)},                                             // 1342
 66731  	{Fscript: Tuint8_t(146), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                            // 1343
 66732  	{Fscript: Tuint8_t(158), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                            // 1344
 66733  	{Fscript: Tuint8_t(21), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(92)},                                              // 1345
 66734  	{Fscript: Tuint8_t(147), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(284)},                                            // 1346
 66735  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                              // 1347
 66736  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1348
 66737  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                             // 1349
 66738  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1350
 66739  	{Fscript: Tuint8_t(46), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                            // 1351
 66740  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(2), Fscriptx_bidiclass: Tuint16_t(6153), Fbprops: Tuint16_t(66)},                                                // 1352
 66741  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(330)},                                             // 1353
 66742  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                             // 1354
 66743  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(5), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(160)},                                             // 1355
 66744  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(10), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(286)},                                             // 1356
 66745  	{Fscript: Tuint8_t(1), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                              // 1357
 66746  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(25), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(118)},                                            // 1358
 66747  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(214)},                                            // 1359
 66748  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1360
 66749  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(102)},                                            // 1361
 66750  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(106)},                                           // 1362
 66751  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(124)},                                           // 1363
 66752  	{Fscript: Tuint8_t(141), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1364
 66753  	{Fscript: Tuint8_t(35), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1365
 66754  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1366
 66755  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1367
 66756  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(142)},                                            // 1368
 66757  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(136)},                                            // 1369
 66758  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1370
 66759  	{Fscript: Tuint8_t(154), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                            // 1371
 66760  	{Fscript: Tuint8_t(160), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1372
 66761  	{Fscript: Tuint8_t(160), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1373
 66762  	{Fscript: Tuint8_t(155), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(82)},                                             // 1374
 66763  	{Fscript: Tuint8_t(155), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1375
 66764  	{Fscript: Tuint8_t(155), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(138)},                                           // 1376
 66765  	{Fscript: Tuint8_t(155), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(14336), Fbprops: Tuint16_t(68)},                                            // 1377
 66766  	{Fscript: Tuint8_t(129), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(82)},                                             // 1378
 66767  	{Fscript: Tuint8_t(129), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                            // 1379
 66768  	{Fscript: Tuint8_t(129), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                             // 1380
 66769  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(9), Fgbprop: Tuint8_t(12), Fother_case: 34, Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(74)},                             // 1381
 66770  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(5), Fgbprop: Tuint8_t(12), Fother_case: -34, Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(76)},                            // 1382
 66771  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(150)},                                             // 1383
 66772  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(130)},                                             // 1384
 66773  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(12), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(26624), Fbprops: Tuint16_t(96)},                                              // 1385
 66774  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(6), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(142)},                                             // 1386
 66775  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(138)},                                            // 1387
 66776  	{Fscript: Tuint8_t(58), Fchartype: Tuint8_t(21), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(34816), Fbprops: Tuint16_t(68)},                                             // 1388
 66777  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(15), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                   // 1389
 66778  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                   // 1390
 66779  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(23), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(68)},                                                                                   // 1391
 66780  	{Fscript: Tuint8_t(3), Fchartype: Tuint8_t(7), Fgbprop: Tuint8_t(12), Fbprops: Tuint16_t(240)},                                                                                    // 1392
 66781  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(332)},                                            // 1393
 66782  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(334)},                                            // 1394
 66783  	{Fscript: Tuint8_t(68), Fchartype: Tuint8_t(2), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(336)},                                             // 1395
 66784  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(338)},                                            // 1396
 66785  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(340)},                                            // 1397
 66786  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(334)},                                            // 1398
 66787  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(11), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(342)},                                            // 1399
 66788  	{Fscript: Tuint8_t(20), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(68)},                                             // 1400
 66789  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18432), Fbprops: Tuint16_t(236)},                                            // 1401
 66790  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(18447), Fbprops: Tuint16_t(334)},                                            // 1402
 66791  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(344)},                                            // 1403
 66792  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(346)},                                            // 1404
 66793  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(24), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(348)},                                             // 1405
 66794  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(26), Fgbprop: Tuint8_t(14), Fscriptx_bidiclass: Tuint16_t(28672), Fbprops: Tuint16_t(350)},                                            // 1406
 66795  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(13), Fgbprop: Tuint8_t(12), Fscriptx_bidiclass: Tuint16_t(10240), Fbprops: Tuint16_t(138)},                                            // 1407
 66796  	{Fscript: Tuint8_t(69), Fchartype: Tuint8_t(1), Fgbprop: Tuint8_t(3), Fscriptx_bidiclass: Tuint16_t(6144), Fbprops: Tuint16_t(352)},                                               // 1408
 66797  } /* pcre2_ucd.c:427:18 */
 66798  
 66799  var X_pcre2_ucd_stage1_8 = [8704]Tuint16_t{ // 17408 bytes
 66800  	Tuint16_t(0), Tuint16_t(1), Tuint16_t(2), Tuint16_t(3), Tuint16_t(4), Tuint16_t(5), Tuint16_t(6), Tuint16_t(7), Tuint16_t(8), Tuint16_t(9), Tuint16_t(10), Tuint16_t(11), Tuint16_t(12), Tuint16_t(13), Tuint16_t(14), Tuint16_t(15), // U+0000
 66801  	Tuint16_t(16), Tuint16_t(17), Tuint16_t(18), Tuint16_t(19), Tuint16_t(20), Tuint16_t(21), Tuint16_t(22), Tuint16_t(23), Tuint16_t(24), Tuint16_t(25), Tuint16_t(26), Tuint16_t(27), Tuint16_t(28), Tuint16_t(29), Tuint16_t(30), Tuint16_t(31), // U+0800
 66802  	Tuint16_t(32), Tuint16_t(33), Tuint16_t(34), Tuint16_t(35), Tuint16_t(36), Tuint16_t(37), Tuint16_t(38), Tuint16_t(39), Tuint16_t(40), Tuint16_t(41), Tuint16_t(41), Tuint16_t(41), Tuint16_t(42), Tuint16_t(43), Tuint16_t(44), Tuint16_t(45), // U+1000
 66803  	Tuint16_t(46), Tuint16_t(47), Tuint16_t(48), Tuint16_t(49), Tuint16_t(50), Tuint16_t(51), Tuint16_t(52), Tuint16_t(53), Tuint16_t(54), Tuint16_t(55), Tuint16_t(56), Tuint16_t(57), Tuint16_t(58), Tuint16_t(59), Tuint16_t(60), Tuint16_t(61), // U+1800
 66804  	Tuint16_t(62), Tuint16_t(63), Tuint16_t(64), Tuint16_t(65), Tuint16_t(66), Tuint16_t(67), Tuint16_t(68), Tuint16_t(69), Tuint16_t(70), Tuint16_t(71), Tuint16_t(72), Tuint16_t(73), Tuint16_t(74), Tuint16_t(75), Tuint16_t(76), Tuint16_t(77), // U+2000
 66805  	Tuint16_t(78), Tuint16_t(78), Tuint16_t(79), Tuint16_t(80), Tuint16_t(81), Tuint16_t(82), Tuint16_t(83), Tuint16_t(84), Tuint16_t(85), Tuint16_t(86), Tuint16_t(87), Tuint16_t(88), Tuint16_t(89), Tuint16_t(90), Tuint16_t(91), Tuint16_t(92), // U+2800
 66806  	Tuint16_t(93), Tuint16_t(94), Tuint16_t(95), Tuint16_t(96), Tuint16_t(97), Tuint16_t(98), Tuint16_t(99), Tuint16_t(100), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+3000
 66807  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+3800
 66808  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+4000
 66809  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(102), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+4800
 66810  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+5000
 66811  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+5800
 66812  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+6000
 66813  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+6800
 66814  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+7000
 66815  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+7800
 66816  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+8000
 66817  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+8800
 66818  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+9000
 66819  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+9800
 66820  	Tuint16_t(103), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(104), Tuint16_t(105), Tuint16_t(106), Tuint16_t(106), Tuint16_t(107), Tuint16_t(108), Tuint16_t(109), Tuint16_t(110), // U+A000
 66821  	Tuint16_t(111), Tuint16_t(112), Tuint16_t(113), Tuint16_t(114), Tuint16_t(115), Tuint16_t(116), Tuint16_t(117), Tuint16_t(118), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), // U+A800
 66822  	Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), // U+B000
 66823  	Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), // U+B800
 66824  	Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), // U+C000
 66825  	Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), // U+C800
 66826  	Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(122), Tuint16_t(123), Tuint16_t(124), Tuint16_t(125), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(126), // U+D000
 66827  	Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), Tuint16_t(127), // U+D800
 66828  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+E000
 66829  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+E800
 66830  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F000
 66831  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(129), Tuint16_t(129), Tuint16_t(130), Tuint16_t(131), Tuint16_t(132), Tuint16_t(133), Tuint16_t(134), Tuint16_t(135), Tuint16_t(136), Tuint16_t(137), Tuint16_t(138), Tuint16_t(139), Tuint16_t(140), Tuint16_t(141), // U+F800
 66832  	Tuint16_t(142), Tuint16_t(143), Tuint16_t(144), Tuint16_t(145), Tuint16_t(146), Tuint16_t(147), Tuint16_t(148), Tuint16_t(149), Tuint16_t(150), Tuint16_t(151), Tuint16_t(152), Tuint16_t(153), Tuint16_t(154), Tuint16_t(154), Tuint16_t(155), Tuint16_t(156), // U+10000
 66833  	Tuint16_t(157), Tuint16_t(158), Tuint16_t(159), Tuint16_t(160), Tuint16_t(161), Tuint16_t(162), Tuint16_t(163), Tuint16_t(164), Tuint16_t(165), Tuint16_t(166), Tuint16_t(167), Tuint16_t(168), Tuint16_t(169), Tuint16_t(170), Tuint16_t(171), Tuint16_t(172), // U+10800
 66834  	Tuint16_t(173), Tuint16_t(174), Tuint16_t(175), Tuint16_t(176), Tuint16_t(177), Tuint16_t(178), Tuint16_t(179), Tuint16_t(146), Tuint16_t(180), Tuint16_t(181), Tuint16_t(146), Tuint16_t(182), Tuint16_t(183), Tuint16_t(184), Tuint16_t(185), Tuint16_t(146), // U+11000
 66835  	Tuint16_t(186), Tuint16_t(187), Tuint16_t(188), Tuint16_t(189), Tuint16_t(190), Tuint16_t(191), Tuint16_t(146), Tuint16_t(146), Tuint16_t(192), Tuint16_t(193), Tuint16_t(194), Tuint16_t(195), Tuint16_t(146), Tuint16_t(196), Tuint16_t(146), Tuint16_t(197), // U+11800
 66836  	Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(198), Tuint16_t(199), Tuint16_t(200), Tuint16_t(198), Tuint16_t(201), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+12000
 66837  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(202), // U+12800
 66838  	Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(203), Tuint16_t(204), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+13000
 66839  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+13800
 66840  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(205), Tuint16_t(205), Tuint16_t(205), Tuint16_t(205), Tuint16_t(206), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+14000
 66841  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+14800
 66842  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+15000
 66843  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+15800
 66844  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+16000
 66845  	Tuint16_t(207), Tuint16_t(207), Tuint16_t(207), Tuint16_t(207), Tuint16_t(208), Tuint16_t(209), Tuint16_t(210), Tuint16_t(211), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(212), Tuint16_t(213), Tuint16_t(214), Tuint16_t(215), // U+16800
 66846  	Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), // U+17000
 66847  	Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), // U+17800
 66848  	Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(217), // U+18000
 66849  	Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(216), Tuint16_t(218), Tuint16_t(218), Tuint16_t(218), Tuint16_t(219), Tuint16_t(220), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+18800
 66850  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+19000
 66851  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+19800
 66852  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+1A000
 66853  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(221), // U+1A800
 66854  	Tuint16_t(222), Tuint16_t(223), Tuint16_t(224), Tuint16_t(225), Tuint16_t(225), Tuint16_t(226), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+1B000
 66855  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(227), Tuint16_t(228), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+1B800
 66856  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+1C000
 66857  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(229), Tuint16_t(230), // U+1C800
 66858  	Tuint16_t(231), Tuint16_t(232), Tuint16_t(233), Tuint16_t(234), Tuint16_t(235), Tuint16_t(236), Tuint16_t(237), Tuint16_t(146), Tuint16_t(238), Tuint16_t(239), Tuint16_t(240), Tuint16_t(241), Tuint16_t(242), Tuint16_t(243), Tuint16_t(244), Tuint16_t(245), // U+1D000
 66859  	Tuint16_t(246), Tuint16_t(246), Tuint16_t(246), Tuint16_t(246), Tuint16_t(247), Tuint16_t(248), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(249), Tuint16_t(146), // U+1D800
 66860  	Tuint16_t(250), Tuint16_t(146), Tuint16_t(251), Tuint16_t(146), Tuint16_t(146), Tuint16_t(252), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(253), // U+1E000
 66861  	Tuint16_t(254), Tuint16_t(255), Tuint16_t(256), Tuint16_t(168), Tuint16_t(168), Tuint16_t(168), Tuint16_t(168), Tuint16_t(168), Tuint16_t(257), Tuint16_t(258), Tuint16_t(259), Tuint16_t(168), Tuint16_t(260), Tuint16_t(261), Tuint16_t(168), Tuint16_t(168), // U+1E800
 66862  	Tuint16_t(262), Tuint16_t(263), Tuint16_t(264), Tuint16_t(265), Tuint16_t(266), Tuint16_t(267), Tuint16_t(268), Tuint16_t(269), Tuint16_t(270), Tuint16_t(271), Tuint16_t(272), Tuint16_t(273), Tuint16_t(274), Tuint16_t(275), Tuint16_t(276), Tuint16_t(277), // U+1F000
 66863  	Tuint16_t(278), Tuint16_t(279), Tuint16_t(280), Tuint16_t(281), Tuint16_t(282), Tuint16_t(283), Tuint16_t(284), Tuint16_t(285), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(267), Tuint16_t(286), // U+1F800
 66864  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+20000
 66865  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+20800
 66866  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+21000
 66867  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+21800
 66868  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+22000
 66869  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+22800
 66870  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+23000
 66871  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+23800
 66872  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+24000
 66873  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+24800
 66874  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+25000
 66875  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+25800
 66876  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+26000
 66877  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+26800
 66878  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+27000
 66879  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+27800
 66880  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+28000
 66881  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+28800
 66882  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+29000
 66883  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+29800
 66884  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(287), Tuint16_t(101), Tuint16_t(101), // U+2A000
 66885  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2A800
 66886  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(288), Tuint16_t(101), // U+2B000
 66887  	Tuint16_t(289), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2B800
 66888  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2C000
 66889  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(290), Tuint16_t(101), Tuint16_t(101), // U+2C800
 66890  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2D000
 66891  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2D800
 66892  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+2E000
 66893  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(291), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+2E800
 66894  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+2F000
 66895  	Tuint16_t(129), Tuint16_t(129), Tuint16_t(129), Tuint16_t(129), Tuint16_t(292), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+2F800
 66896  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+30000
 66897  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), // U+30800
 66898  	Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(101), Tuint16_t(294), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+31000
 66899  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+31800
 66900  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+32000
 66901  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+32800
 66902  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+33000
 66903  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+33800
 66904  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+34000
 66905  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+34800
 66906  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+35000
 66907  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+35800
 66908  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+36000
 66909  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+36800
 66910  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+37000
 66911  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+37800
 66912  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+38000
 66913  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+38800
 66914  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+39000
 66915  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+39800
 66916  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3A000
 66917  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3A800
 66918  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3B000
 66919  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3B800
 66920  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3C000
 66921  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3C800
 66922  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3D000
 66923  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3D800
 66924  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3E000
 66925  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3E800
 66926  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+3F000
 66927  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+3F800
 66928  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+40000
 66929  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+40800
 66930  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+41000
 66931  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+41800
 66932  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+42000
 66933  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+42800
 66934  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+43000
 66935  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+43800
 66936  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+44000
 66937  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+44800
 66938  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+45000
 66939  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+45800
 66940  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+46000
 66941  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+46800
 66942  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+47000
 66943  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+47800
 66944  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+48000
 66945  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+48800
 66946  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+49000
 66947  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+49800
 66948  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4A000
 66949  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4A800
 66950  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4B000
 66951  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4B800
 66952  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4C000
 66953  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4C800
 66954  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4D000
 66955  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4D800
 66956  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4E000
 66957  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4E800
 66958  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+4F000
 66959  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+4F800
 66960  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+50000
 66961  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+50800
 66962  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+51000
 66963  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+51800
 66964  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+52000
 66965  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+52800
 66966  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+53000
 66967  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+53800
 66968  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+54000
 66969  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+54800
 66970  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+55000
 66971  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+55800
 66972  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+56000
 66973  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+56800
 66974  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+57000
 66975  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+57800
 66976  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+58000
 66977  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+58800
 66978  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+59000
 66979  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+59800
 66980  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5A000
 66981  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5A800
 66982  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5B000
 66983  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5B800
 66984  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5C000
 66985  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5C800
 66986  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5D000
 66987  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5D800
 66988  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5E000
 66989  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5E800
 66990  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+5F000
 66991  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+5F800
 66992  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+60000
 66993  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+60800
 66994  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+61000
 66995  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+61800
 66996  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+62000
 66997  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+62800
 66998  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+63000
 66999  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+63800
 67000  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+64000
 67001  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+64800
 67002  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+65000
 67003  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+65800
 67004  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+66000
 67005  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+66800
 67006  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+67000
 67007  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+67800
 67008  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+68000
 67009  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+68800
 67010  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+69000
 67011  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+69800
 67012  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6A000
 67013  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6A800
 67014  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6B000
 67015  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6B800
 67016  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6C000
 67017  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6C800
 67018  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6D000
 67019  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6D800
 67020  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6E000
 67021  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6E800
 67022  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+6F000
 67023  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+6F800
 67024  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+70000
 67025  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+70800
 67026  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+71000
 67027  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+71800
 67028  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+72000
 67029  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+72800
 67030  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+73000
 67031  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+73800
 67032  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+74000
 67033  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+74800
 67034  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+75000
 67035  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+75800
 67036  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+76000
 67037  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+76800
 67038  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+77000
 67039  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+77800
 67040  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+78000
 67041  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+78800
 67042  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+79000
 67043  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+79800
 67044  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7A000
 67045  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7A800
 67046  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7B000
 67047  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7B800
 67048  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7C000
 67049  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7C800
 67050  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7D000
 67051  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7D800
 67052  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7E000
 67053  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7E800
 67054  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+7F000
 67055  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+7F800
 67056  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+80000
 67057  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+80800
 67058  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+81000
 67059  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+81800
 67060  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+82000
 67061  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+82800
 67062  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+83000
 67063  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+83800
 67064  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+84000
 67065  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+84800
 67066  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+85000
 67067  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+85800
 67068  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+86000
 67069  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+86800
 67070  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+87000
 67071  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+87800
 67072  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+88000
 67073  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+88800
 67074  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+89000
 67075  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+89800
 67076  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8A000
 67077  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8A800
 67078  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8B000
 67079  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8B800
 67080  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8C000
 67081  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8C800
 67082  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8D000
 67083  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8D800
 67084  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8E000
 67085  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8E800
 67086  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+8F000
 67087  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+8F800
 67088  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+90000
 67089  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+90800
 67090  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+91000
 67091  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+91800
 67092  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+92000
 67093  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+92800
 67094  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+93000
 67095  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+93800
 67096  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+94000
 67097  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+94800
 67098  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+95000
 67099  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+95800
 67100  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+96000
 67101  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+96800
 67102  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+97000
 67103  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+97800
 67104  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+98000
 67105  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+98800
 67106  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+99000
 67107  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+99800
 67108  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9A000
 67109  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9A800
 67110  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9B000
 67111  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9B800
 67112  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9C000
 67113  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9C800
 67114  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9D000
 67115  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9D800
 67116  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9E000
 67117  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9E800
 67118  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+9F000
 67119  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+9F800
 67120  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A0000
 67121  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A0800
 67122  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A1000
 67123  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A1800
 67124  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A2000
 67125  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A2800
 67126  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A3000
 67127  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A3800
 67128  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A4000
 67129  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A4800
 67130  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A5000
 67131  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A5800
 67132  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A6000
 67133  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A6800
 67134  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A7000
 67135  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A7800
 67136  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A8000
 67137  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A8800
 67138  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A9000
 67139  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+A9800
 67140  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AA000
 67141  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AA800
 67142  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AB000
 67143  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AB800
 67144  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AC000
 67145  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AC800
 67146  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AD000
 67147  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AD800
 67148  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AE000
 67149  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AE800
 67150  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+AF000
 67151  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+AF800
 67152  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B0000
 67153  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B0800
 67154  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B1000
 67155  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B1800
 67156  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B2000
 67157  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B2800
 67158  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B3000
 67159  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B3800
 67160  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B4000
 67161  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B4800
 67162  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B5000
 67163  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B5800
 67164  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B6000
 67165  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B6800
 67166  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B7000
 67167  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B7800
 67168  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B8000
 67169  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B8800
 67170  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B9000
 67171  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+B9800
 67172  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BA000
 67173  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BA800
 67174  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BB000
 67175  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BB800
 67176  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BC000
 67177  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BC800
 67178  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BD000
 67179  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BD800
 67180  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BE000
 67181  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BE800
 67182  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+BF000
 67183  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+BF800
 67184  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C0000
 67185  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C0800
 67186  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C1000
 67187  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C1800
 67188  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C2000
 67189  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C2800
 67190  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C3000
 67191  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C3800
 67192  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C4000
 67193  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C4800
 67194  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C5000
 67195  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C5800
 67196  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C6000
 67197  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C6800
 67198  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C7000
 67199  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C7800
 67200  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C8000
 67201  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C8800
 67202  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C9000
 67203  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+C9800
 67204  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CA000
 67205  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CA800
 67206  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CB000
 67207  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CB800
 67208  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CC000
 67209  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CC800
 67210  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CD000
 67211  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CD800
 67212  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CE000
 67213  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CE800
 67214  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+CF000
 67215  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+CF800
 67216  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D0000
 67217  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D0800
 67218  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D1000
 67219  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D1800
 67220  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D2000
 67221  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D2800
 67222  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D3000
 67223  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D3800
 67224  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D4000
 67225  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D4800
 67226  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D5000
 67227  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D5800
 67228  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D6000
 67229  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D6800
 67230  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D7000
 67231  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D7800
 67232  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D8000
 67233  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D8800
 67234  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D9000
 67235  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+D9800
 67236  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DA000
 67237  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DA800
 67238  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DB000
 67239  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DB800
 67240  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DC000
 67241  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DC800
 67242  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DD000
 67243  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DD800
 67244  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DE000
 67245  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DE800
 67246  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+DF000
 67247  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+DF800
 67248  	Tuint16_t(295), Tuint16_t(296), Tuint16_t(297), Tuint16_t(298), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), // U+E0000
 67249  	Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), Tuint16_t(296), // U+E0800
 67250  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E1000
 67251  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E1800
 67252  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E2000
 67253  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E2800
 67254  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E3000
 67255  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E3800
 67256  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E4000
 67257  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E4800
 67258  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E5000
 67259  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E5800
 67260  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E6000
 67261  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E6800
 67262  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E7000
 67263  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E7800
 67264  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E8000
 67265  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E8800
 67266  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E9000
 67267  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+E9800
 67268  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EA000
 67269  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EA800
 67270  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EB000
 67271  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EB800
 67272  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EC000
 67273  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EC800
 67274  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+ED000
 67275  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+ED800
 67276  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EE000
 67277  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EE800
 67278  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), // U+EF000
 67279  	Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(146), Tuint16_t(293), // U+EF800
 67280  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F0000
 67281  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F0800
 67282  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F1000
 67283  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F1800
 67284  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F2000
 67285  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F2800
 67286  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F3000
 67287  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F3800
 67288  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F4000
 67289  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F4800
 67290  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F5000
 67291  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F5800
 67292  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F6000
 67293  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F6800
 67294  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F7000
 67295  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F7800
 67296  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F8000
 67297  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F8800
 67298  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F9000
 67299  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+F9800
 67300  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FA000
 67301  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FA800
 67302  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FB000
 67303  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FB800
 67304  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FC000
 67305  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FC800
 67306  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FD000
 67307  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FD800
 67308  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FE000
 67309  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FE800
 67310  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+FF000
 67311  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(299), // U+FF800
 67312  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+100000
 67313  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+100800
 67314  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+101000
 67315  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+101800
 67316  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+102000
 67317  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+102800
 67318  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+103000
 67319  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+103800
 67320  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+104000
 67321  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+104800
 67322  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+105000
 67323  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+105800
 67324  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+106000
 67325  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+106800
 67326  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+107000
 67327  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+107800
 67328  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+108000
 67329  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+108800
 67330  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+109000
 67331  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+109800
 67332  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10A000
 67333  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10A800
 67334  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10B000
 67335  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10B800
 67336  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10C000
 67337  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10C800
 67338  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10D000
 67339  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10D800
 67340  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10E000
 67341  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10E800
 67342  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), // U+10F000
 67343  	Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(128), Tuint16_t(299), // U+10F800
 67344  } /* pcre2_ucd.c:1839:16 */
 67345  
 67346  var X_pcre2_ucd_stage2_8 = [38400]Tuint16_t{ // 76800 bytes, block = 128
 67347  
 67348  	// block 0
 67349  	Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(1), Tuint16_t(2), Tuint16_t(1), Tuint16_t(3), Tuint16_t(4), Tuint16_t(0), Tuint16_t(0),
 67350  	Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(0), Tuint16_t(5), Tuint16_t(5), Tuint16_t(5), Tuint16_t(6),
 67351  	Tuint16_t(7), Tuint16_t(8), Tuint16_t(9), Tuint16_t(10), Tuint16_t(11), Tuint16_t(12), Tuint16_t(13), Tuint16_t(14), Tuint16_t(15), Tuint16_t(16), Tuint16_t(17), Tuint16_t(18), Tuint16_t(19), Tuint16_t(20), Tuint16_t(21), Tuint16_t(22),
 67352  	Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(23), Tuint16_t(24), Tuint16_t(25), Tuint16_t(26), Tuint16_t(27), Tuint16_t(26), Tuint16_t(8),
 67353  	Tuint16_t(13), Tuint16_t(28), Tuint16_t(28), Tuint16_t(28), Tuint16_t(28), Tuint16_t(28), Tuint16_t(28), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(30), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29),
 67354  	Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(31), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(29), Tuint16_t(15), Tuint16_t(13), Tuint16_t(16), Tuint16_t(32), Tuint16_t(33),
 67355  	Tuint16_t(34), Tuint16_t(35), Tuint16_t(35), Tuint16_t(35), Tuint16_t(35), Tuint16_t(35), Tuint16_t(35), Tuint16_t(36), Tuint16_t(36), Tuint16_t(37), Tuint16_t(37), Tuint16_t(38), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36),
 67356  	Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(39), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(36), Tuint16_t(15), Tuint16_t(27), Tuint16_t(16), Tuint16_t(27), Tuint16_t(0),
 67357  
 67358  	// block 1
 67359  	Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(41), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40),
 67360  	Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40), Tuint16_t(40),
 67361  	Tuint16_t(42), Tuint16_t(43), Tuint16_t(44), Tuint16_t(44), Tuint16_t(44), Tuint16_t(44), Tuint16_t(45), Tuint16_t(43), Tuint16_t(46), Tuint16_t(47), Tuint16_t(48), Tuint16_t(49), Tuint16_t(50), Tuint16_t(51), Tuint16_t(47), Tuint16_t(46),
 67362  	Tuint16_t(52), Tuint16_t(53), Tuint16_t(54), Tuint16_t(54), Tuint16_t(46), Tuint16_t(55), Tuint16_t(43), Tuint16_t(56), Tuint16_t(46), Tuint16_t(54), Tuint16_t(48), Tuint16_t(57), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(43),
 67363  	Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(60), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59),
 67364  	Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(50), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(61),
 67365  	Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(63), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62),
 67366  	Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(50), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(64),
 67367  
 67368  	// block 2
 67369  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67370  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67371  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(67),
 67372  	Tuint16_t(68), Tuint16_t(69), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65),
 67373  	Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(71), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67374  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67375  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67376  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(72), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(73),
 67377  
 67378  	// block 3
 67379  	Tuint16_t(74), Tuint16_t(75), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(76), Tuint16_t(65), Tuint16_t(66), Tuint16_t(77), Tuint16_t(77), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(78), Tuint16_t(79),
 67380  	Tuint16_t(80), Tuint16_t(65), Tuint16_t(66), Tuint16_t(77), Tuint16_t(81), Tuint16_t(82), Tuint16_t(83), Tuint16_t(84), Tuint16_t(65), Tuint16_t(66), Tuint16_t(85), Tuint16_t(70), Tuint16_t(83), Tuint16_t(86), Tuint16_t(87), Tuint16_t(88),
 67381  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(89), Tuint16_t(65), Tuint16_t(66), Tuint16_t(89), Tuint16_t(70), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(89), Tuint16_t(65),
 67382  	Tuint16_t(66), Tuint16_t(90), Tuint16_t(90), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(91), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(92), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(93),
 67383  	Tuint16_t(92), Tuint16_t(92), Tuint16_t(92), Tuint16_t(92), Tuint16_t(94), Tuint16_t(95), Tuint16_t(96), Tuint16_t(97), Tuint16_t(98), Tuint16_t(99), Tuint16_t(100), Tuint16_t(101), Tuint16_t(102), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65),
 67384  	Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(103), Tuint16_t(65), Tuint16_t(66),
 67385  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67386  	Tuint16_t(69), Tuint16_t(104), Tuint16_t(105), Tuint16_t(106), Tuint16_t(65), Tuint16_t(66), Tuint16_t(107), Tuint16_t(108), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67387  
 67388  	// block 4
 67389  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67390  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67391  	Tuint16_t(109), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67392  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(110), Tuint16_t(65), Tuint16_t(66), Tuint16_t(111), Tuint16_t(112), Tuint16_t(113),
 67393  	Tuint16_t(113), Tuint16_t(65), Tuint16_t(66), Tuint16_t(114), Tuint16_t(115), Tuint16_t(116), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(67), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67394  	Tuint16_t(117), Tuint16_t(118), Tuint16_t(119), Tuint16_t(120), Tuint16_t(121), Tuint16_t(70), Tuint16_t(122), Tuint16_t(122), Tuint16_t(70), Tuint16_t(123), Tuint16_t(70), Tuint16_t(124), Tuint16_t(125), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 67395  	Tuint16_t(122), Tuint16_t(126), Tuint16_t(70), Tuint16_t(127), Tuint16_t(70), Tuint16_t(128), Tuint16_t(129), Tuint16_t(70), Tuint16_t(130), Tuint16_t(131), Tuint16_t(129), Tuint16_t(132), Tuint16_t(133), Tuint16_t(70), Tuint16_t(70), Tuint16_t(131),
 67396  	Tuint16_t(70), Tuint16_t(134), Tuint16_t(135), Tuint16_t(70), Tuint16_t(70), Tuint16_t(136), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(137), Tuint16_t(70), Tuint16_t(70),
 67397  
 67398  	// block 5
 67399  	Tuint16_t(138), Tuint16_t(70), Tuint16_t(139), Tuint16_t(138), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(140), Tuint16_t(138), Tuint16_t(141), Tuint16_t(142), Tuint16_t(142), Tuint16_t(143), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 67400  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(144), Tuint16_t(70), Tuint16_t(92), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(145), Tuint16_t(146), Tuint16_t(70),
 67401  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 67402  	Tuint16_t(147), Tuint16_t(147), Tuint16_t(148), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(149), Tuint16_t(149), Tuint16_t(150), Tuint16_t(150), Tuint16_t(150), Tuint16_t(150), Tuint16_t(150),
 67403  	Tuint16_t(151), Tuint16_t(151), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149),
 67404  	Tuint16_t(152), Tuint16_t(152), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46),
 67405  	Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(153), Tuint16_t(153), Tuint16_t(149), Tuint16_t(46), Tuint16_t(150), Tuint16_t(46),
 67406  	Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46),
 67407  
 67408  	// block 6
 67409  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 67410  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 67411  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 67412  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 67413  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(155), Tuint16_t(154), Tuint16_t(154), Tuint16_t(156), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(157),
 67414  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 67415  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159), Tuint16_t(159),
 67416  	Tuint16_t(160), Tuint16_t(161), Tuint16_t(160), Tuint16_t(161), Tuint16_t(149), Tuint16_t(162), Tuint16_t(160), Tuint16_t(161), Tuint16_t(163), Tuint16_t(163), Tuint16_t(164), Tuint16_t(165), Tuint16_t(165), Tuint16_t(165), Tuint16_t(166), Tuint16_t(167),
 67417  
 67418  	// block 7
 67419  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(162), Tuint16_t(46), Tuint16_t(168), Tuint16_t(169), Tuint16_t(170), Tuint16_t(170), Tuint16_t(170), Tuint16_t(163), Tuint16_t(171), Tuint16_t(163), Tuint16_t(172), Tuint16_t(172),
 67420  	Tuint16_t(173), Tuint16_t(174), Tuint16_t(175), Tuint16_t(174), Tuint16_t(174), Tuint16_t(176), Tuint16_t(174), Tuint16_t(174), Tuint16_t(177), Tuint16_t(178), Tuint16_t(179), Tuint16_t(174), Tuint16_t(180), Tuint16_t(174), Tuint16_t(174), Tuint16_t(174),
 67421  	Tuint16_t(181), Tuint16_t(182), Tuint16_t(163), Tuint16_t(183), Tuint16_t(174), Tuint16_t(174), Tuint16_t(184), Tuint16_t(174), Tuint16_t(174), Tuint16_t(185), Tuint16_t(174), Tuint16_t(174), Tuint16_t(186), Tuint16_t(187), Tuint16_t(187), Tuint16_t(187),
 67422  	Tuint16_t(173), Tuint16_t(188), Tuint16_t(189), Tuint16_t(188), Tuint16_t(188), Tuint16_t(190), Tuint16_t(188), Tuint16_t(188), Tuint16_t(191), Tuint16_t(192), Tuint16_t(193), Tuint16_t(188), Tuint16_t(194), Tuint16_t(188), Tuint16_t(188), Tuint16_t(188),
 67423  	Tuint16_t(195), Tuint16_t(196), Tuint16_t(197), Tuint16_t(198), Tuint16_t(188), Tuint16_t(188), Tuint16_t(199), Tuint16_t(188), Tuint16_t(188), Tuint16_t(200), Tuint16_t(188), Tuint16_t(188), Tuint16_t(201), Tuint16_t(202), Tuint16_t(202), Tuint16_t(203),
 67424  	Tuint16_t(204), Tuint16_t(205), Tuint16_t(206), Tuint16_t(207), Tuint16_t(207), Tuint16_t(208), Tuint16_t(209), Tuint16_t(210), Tuint16_t(160), Tuint16_t(161), Tuint16_t(160), Tuint16_t(161), Tuint16_t(160), Tuint16_t(161), Tuint16_t(160), Tuint16_t(161),
 67425  	Tuint16_t(160), Tuint16_t(161), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212),
 67426  	Tuint16_t(213), Tuint16_t(214), Tuint16_t(215), Tuint16_t(216), Tuint16_t(217), Tuint16_t(218), Tuint16_t(219), Tuint16_t(160), Tuint16_t(161), Tuint16_t(220), Tuint16_t(160), Tuint16_t(161), Tuint16_t(221), Tuint16_t(222), Tuint16_t(222), Tuint16_t(222),
 67427  
 67428  	// block 8
 67429  	Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223), Tuint16_t(223),
 67430  	Tuint16_t(224), Tuint16_t(224), Tuint16_t(225), Tuint16_t(224), Tuint16_t(226), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(227), Tuint16_t(224),
 67431  	Tuint16_t(224), Tuint16_t(228), Tuint16_t(229), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(230), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224), Tuint16_t(224),
 67432  	Tuint16_t(231), Tuint16_t(231), Tuint16_t(232), Tuint16_t(231), Tuint16_t(233), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(234), Tuint16_t(231),
 67433  	Tuint16_t(231), Tuint16_t(235), Tuint16_t(236), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(237), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231), Tuint16_t(231),
 67434  	Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(239), Tuint16_t(238), Tuint16_t(239), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238), Tuint16_t(238),
 67435  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(242), Tuint16_t(243), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67436  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67437  
 67438  	// block 9
 67439  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(244), Tuint16_t(245), Tuint16_t(246), Tuint16_t(247), Tuint16_t(247), Tuint16_t(246), Tuint16_t(248), Tuint16_t(248), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67440  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67441  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67442  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67443  	Tuint16_t(249), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(250),
 67444  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67445  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67446  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67447  
 67448  	// block 10
 67449  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67450  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67451  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 67452  	Tuint16_t(163), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251),
 67453  	Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251),
 67454  	Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(251), Tuint16_t(163), Tuint16_t(163), Tuint16_t(252), Tuint16_t(253), Tuint16_t(253), Tuint16_t(253), Tuint16_t(253), Tuint16_t(253), Tuint16_t(254),
 67455  	Tuint16_t(255), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256),
 67456  	Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256),
 67457  
 67458  	// block 11
 67459  	Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(256), Tuint16_t(257), Tuint16_t(255), Tuint16_t(258), Tuint16_t(259), Tuint16_t(163), Tuint16_t(163), Tuint16_t(260), Tuint16_t(260), Tuint16_t(261),
 67460  	Tuint16_t(262), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263),
 67461  	Tuint16_t(263), Tuint16_t(263), Tuint16_t(264), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263), Tuint16_t(263),
 67462  	Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(265), Tuint16_t(266), Tuint16_t(265),
 67463  	Tuint16_t(267), Tuint16_t(265), Tuint16_t(265), Tuint16_t(268), Tuint16_t(265), Tuint16_t(269), Tuint16_t(267), Tuint16_t(269), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 67464  	Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270),
 67465  	Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(270),
 67466  	Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(267), Tuint16_t(271), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 67467  
 67468  	// block 12
 67469  	Tuint16_t(272), Tuint16_t(272), Tuint16_t(272), Tuint16_t(272), Tuint16_t(272), Tuint16_t(273), Tuint16_t(274), Tuint16_t(274), Tuint16_t(275), Tuint16_t(276), Tuint16_t(276), Tuint16_t(277), Tuint16_t(278), Tuint16_t(279), Tuint16_t(280), Tuint16_t(280),
 67470  	Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(282), Tuint16_t(283), Tuint16_t(284), Tuint16_t(284), Tuint16_t(285),
 67471  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67472  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67473  	Tuint16_t(287), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(288), Tuint16_t(288), Tuint16_t(288), Tuint16_t(288), Tuint16_t(288),
 67474  	Tuint16_t(288), Tuint16_t(288), Tuint16_t(288), Tuint16_t(289), Tuint16_t(289), Tuint16_t(289), Tuint16_t(281), Tuint16_t(290), Tuint16_t(291), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281),
 67475  	Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(292), Tuint16_t(276), Tuint16_t(293), Tuint16_t(293), Tuint16_t(279), Tuint16_t(286), Tuint16_t(286),
 67476  	Tuint16_t(289), Tuint16_t(286), Tuint16_t(286), Tuint16_t(294), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67477  
 67478  	// block 13
 67479  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67480  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67481  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67482  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67483  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67484  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(295), Tuint16_t(286), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(273), Tuint16_t(280), Tuint16_t(291),
 67485  	Tuint16_t(291), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(296), Tuint16_t(296), Tuint16_t(281), Tuint16_t(281), Tuint16_t(280), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(281), Tuint16_t(286), Tuint16_t(286),
 67486  	Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(297), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(298), Tuint16_t(298), Tuint16_t(286),
 67487  
 67488  	// block 14
 67489  	Tuint16_t(299), Tuint16_t(299), Tuint16_t(299), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(300), Tuint16_t(301), Tuint16_t(300), Tuint16_t(301), Tuint16_t(302), Tuint16_t(303),
 67490  	Tuint16_t(304), Tuint16_t(305), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304),
 67491  	Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304),
 67492  	Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306), Tuint16_t(306),
 67493  	Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(307), Tuint16_t(302), Tuint16_t(302), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304),
 67494  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67495  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67496  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67497  
 67498  	// block 15
 67499  	Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308),
 67500  	Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308),
 67501  	Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(308), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309), Tuint16_t(309),
 67502  	Tuint16_t(309), Tuint16_t(308), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 67503  	Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(310), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311),
 67504  	Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311),
 67505  	Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(311), Tuint16_t(312), Tuint16_t(312), Tuint16_t(312), Tuint16_t(312), Tuint16_t(312),
 67506  	Tuint16_t(312), Tuint16_t(312), Tuint16_t(312), Tuint16_t(312), Tuint16_t(313), Tuint16_t(313), Tuint16_t(314), Tuint16_t(315), Tuint16_t(316), Tuint16_t(317), Tuint16_t(318), Tuint16_t(262), Tuint16_t(262), Tuint16_t(319), Tuint16_t(320), Tuint16_t(320),
 67507  
 67508  	// block 16
 67509  	Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321),
 67510  	Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(321), Tuint16_t(322), Tuint16_t(322), Tuint16_t(323), Tuint16_t(323), Tuint16_t(324), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322),
 67511  	Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(324), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(324), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(322), Tuint16_t(325), Tuint16_t(262), Tuint16_t(262),
 67512  	Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(327), Tuint16_t(326), Tuint16_t(327), Tuint16_t(326), Tuint16_t(326), Tuint16_t(326), Tuint16_t(327), Tuint16_t(327), Tuint16_t(262),
 67513  	Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328),
 67514  	Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(328), Tuint16_t(329), Tuint16_t(329), Tuint16_t(329), Tuint16_t(262), Tuint16_t(262), Tuint16_t(330), Tuint16_t(262),
 67515  	Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(304), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 67516  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67517  
 67518  	// block 17
 67519  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(331), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(302),
 67520  	Tuint16_t(272), Tuint16_t(272), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291),
 67521  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67522  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 67523  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(296), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291),
 67524  	Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(332), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281), Tuint16_t(281),
 67525  	Tuint16_t(332), Tuint16_t(332), Tuint16_t(273), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291), Tuint16_t(291),
 67526  	Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(290), Tuint16_t(281),
 67527  
 67528  	// block 18
 67529  	Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(334), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335),
 67530  	Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335),
 67531  	Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335),
 67532  	Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(333), Tuint16_t(334), Tuint16_t(336), Tuint16_t(335), Tuint16_t(334), Tuint16_t(334),
 67533  	Tuint16_t(334), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(334), Tuint16_t(334), Tuint16_t(334), Tuint16_t(334), Tuint16_t(337), Tuint16_t(334), Tuint16_t(334),
 67534  	Tuint16_t(335), Tuint16_t(338), Tuint16_t(339), Tuint16_t(154), Tuint16_t(154), Tuint16_t(333), Tuint16_t(333), Tuint16_t(333), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335),
 67535  	Tuint16_t(335), Tuint16_t(335), Tuint16_t(333), Tuint16_t(333), Tuint16_t(340), Tuint16_t(341), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342), Tuint16_t(342),
 67536  	Tuint16_t(343), Tuint16_t(344), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335),
 67537  
 67538  	// block 19
 67539  	Tuint16_t(345), Tuint16_t(346), Tuint16_t(347), Tuint16_t(347), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(163), Tuint16_t(163), Tuint16_t(345),
 67540  	Tuint16_t(345), Tuint16_t(163), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345),
 67541  	Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345),
 67542  	Tuint16_t(345), Tuint16_t(163), Tuint16_t(345), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(345), Tuint16_t(163), Tuint16_t(163), Tuint16_t(348), Tuint16_t(345), Tuint16_t(349), Tuint16_t(347),
 67543  	Tuint16_t(347), Tuint16_t(346), Tuint16_t(346), Tuint16_t(346), Tuint16_t(346), Tuint16_t(163), Tuint16_t(163), Tuint16_t(347), Tuint16_t(347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(347), Tuint16_t(347), Tuint16_t(350), Tuint16_t(345), Tuint16_t(163),
 67544  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(349), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(345), Tuint16_t(345), Tuint16_t(163), Tuint16_t(345),
 67545  	Tuint16_t(345), Tuint16_t(345), Tuint16_t(346), Tuint16_t(346), Tuint16_t(163), Tuint16_t(163), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351), Tuint16_t(351),
 67546  	Tuint16_t(345), Tuint16_t(345), Tuint16_t(352), Tuint16_t(352), Tuint16_t(353), Tuint16_t(353), Tuint16_t(353), Tuint16_t(353), Tuint16_t(353), Tuint16_t(353), Tuint16_t(354), Tuint16_t(352), Tuint16_t(345), Tuint16_t(355), Tuint16_t(356), Tuint16_t(163),
 67547  
 67548  	// block 20
 67549  	Tuint16_t(163), Tuint16_t(357), Tuint16_t(357), Tuint16_t(358), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(359),
 67550  	Tuint16_t(359), Tuint16_t(163), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359),
 67551  	Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359),
 67552  	Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(163), Tuint16_t(360), Tuint16_t(163), Tuint16_t(358), Tuint16_t(358),
 67553  	Tuint16_t(358), Tuint16_t(357), Tuint16_t(357), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(357), Tuint16_t(357), Tuint16_t(163), Tuint16_t(163), Tuint16_t(357), Tuint16_t(357), Tuint16_t(361), Tuint16_t(163), Tuint16_t(163),
 67554  	Tuint16_t(163), Tuint16_t(357), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(163), Tuint16_t(359), Tuint16_t(163),
 67555  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362), Tuint16_t(362),
 67556  	Tuint16_t(357), Tuint16_t(357), Tuint16_t(359), Tuint16_t(359), Tuint16_t(359), Tuint16_t(357), Tuint16_t(363), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67557  
 67558  	// block 21
 67559  	Tuint16_t(163), Tuint16_t(364), Tuint16_t(364), Tuint16_t(365), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(366),
 67560  	Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366),
 67561  	Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366),
 67562  	Tuint16_t(366), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(366), Tuint16_t(163), Tuint16_t(163), Tuint16_t(367), Tuint16_t(366), Tuint16_t(365), Tuint16_t(365),
 67563  	Tuint16_t(365), Tuint16_t(364), Tuint16_t(364), Tuint16_t(364), Tuint16_t(364), Tuint16_t(364), Tuint16_t(163), Tuint16_t(364), Tuint16_t(364), Tuint16_t(365), Tuint16_t(163), Tuint16_t(365), Tuint16_t(365), Tuint16_t(368), Tuint16_t(163), Tuint16_t(163),
 67564  	Tuint16_t(366), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67565  	Tuint16_t(366), Tuint16_t(366), Tuint16_t(364), Tuint16_t(364), Tuint16_t(163), Tuint16_t(163), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369), Tuint16_t(369),
 67566  	Tuint16_t(370), Tuint16_t(371), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(366), Tuint16_t(364), Tuint16_t(364), Tuint16_t(364), Tuint16_t(367), Tuint16_t(367), Tuint16_t(367),
 67567  
 67568  	// block 22
 67569  	Tuint16_t(163), Tuint16_t(372), Tuint16_t(373), Tuint16_t(373), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(163), Tuint16_t(374),
 67570  	Tuint16_t(374), Tuint16_t(163), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374),
 67571  	Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374),
 67572  	Tuint16_t(374), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(163), Tuint16_t(375), Tuint16_t(374), Tuint16_t(376), Tuint16_t(372),
 67573  	Tuint16_t(373), Tuint16_t(372), Tuint16_t(372), Tuint16_t(372), Tuint16_t(372), Tuint16_t(163), Tuint16_t(163), Tuint16_t(373), Tuint16_t(373), Tuint16_t(163), Tuint16_t(163), Tuint16_t(373), Tuint16_t(373), Tuint16_t(377), Tuint16_t(163), Tuint16_t(163),
 67574  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(378), Tuint16_t(372), Tuint16_t(376), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(374), Tuint16_t(374), Tuint16_t(163), Tuint16_t(374),
 67575  	Tuint16_t(374), Tuint16_t(374), Tuint16_t(372), Tuint16_t(372), Tuint16_t(163), Tuint16_t(163), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379), Tuint16_t(379),
 67576  	Tuint16_t(380), Tuint16_t(374), Tuint16_t(381), Tuint16_t(381), Tuint16_t(381), Tuint16_t(381), Tuint16_t(381), Tuint16_t(381), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67577  
 67578  	// block 23
 67579  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(382), Tuint16_t(383), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383),
 67580  	Tuint16_t(383), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(383), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383),
 67581  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(383), Tuint16_t(383),
 67582  	Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(384), Tuint16_t(385),
 67583  	Tuint16_t(382), Tuint16_t(385), Tuint16_t(385), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(385), Tuint16_t(385), Tuint16_t(385), Tuint16_t(163), Tuint16_t(385), Tuint16_t(385), Tuint16_t(385), Tuint16_t(386), Tuint16_t(163), Tuint16_t(163),
 67584  	Tuint16_t(383), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(384), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67585  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387), Tuint16_t(387),
 67586  	Tuint16_t(388), Tuint16_t(388), Tuint16_t(388), Tuint16_t(389), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(391), Tuint16_t(390), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67587  
 67588  	// block 24
 67589  	Tuint16_t(392), Tuint16_t(393), Tuint16_t(393), Tuint16_t(393), Tuint16_t(394), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(163), Tuint16_t(395), Tuint16_t(395),
 67590  	Tuint16_t(395), Tuint16_t(163), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395),
 67591  	Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(163), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395),
 67592  	Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(163), Tuint16_t(163), Tuint16_t(396), Tuint16_t(395), Tuint16_t(392), Tuint16_t(392),
 67593  	Tuint16_t(392), Tuint16_t(393), Tuint16_t(393), Tuint16_t(393), Tuint16_t(393), Tuint16_t(163), Tuint16_t(392), Tuint16_t(392), Tuint16_t(392), Tuint16_t(163), Tuint16_t(392), Tuint16_t(392), Tuint16_t(392), Tuint16_t(397), Tuint16_t(163), Tuint16_t(163),
 67594  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(392), Tuint16_t(392), Tuint16_t(163), Tuint16_t(395), Tuint16_t(395), Tuint16_t(395), Tuint16_t(163), Tuint16_t(163), Tuint16_t(395), Tuint16_t(163), Tuint16_t(163),
 67595  	Tuint16_t(395), Tuint16_t(395), Tuint16_t(392), Tuint16_t(392), Tuint16_t(163), Tuint16_t(163), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398), Tuint16_t(398),
 67596  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(399), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(400), Tuint16_t(401),
 67597  
 67598  	// block 25
 67599  	Tuint16_t(402), Tuint16_t(403), Tuint16_t(404), Tuint16_t(404), Tuint16_t(405), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402),
 67600  	Tuint16_t(402), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402),
 67601  	Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402),
 67602  	Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(163), Tuint16_t(406), Tuint16_t(402), Tuint16_t(404), Tuint16_t(407),
 67603  	Tuint16_t(404), Tuint16_t(404), Tuint16_t(408), Tuint16_t(404), Tuint16_t(404), Tuint16_t(163), Tuint16_t(407), Tuint16_t(404), Tuint16_t(404), Tuint16_t(163), Tuint16_t(404), Tuint16_t(404), Tuint16_t(403), Tuint16_t(409), Tuint16_t(163), Tuint16_t(163),
 67604  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(408), Tuint16_t(408), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163),
 67605  	Tuint16_t(402), Tuint16_t(402), Tuint16_t(403), Tuint16_t(403), Tuint16_t(163), Tuint16_t(163), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410), Tuint16_t(410),
 67606  	Tuint16_t(163), Tuint16_t(402), Tuint16_t(402), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67607  
 67608  	// block 26
 67609  	Tuint16_t(411), Tuint16_t(411), Tuint16_t(412), Tuint16_t(412), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(163), Tuint16_t(413), Tuint16_t(413),
 67610  	Tuint16_t(413), Tuint16_t(163), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413),
 67611  	Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413),
 67612  	Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(414), Tuint16_t(414), Tuint16_t(413), Tuint16_t(415), Tuint16_t(412),
 67613  	Tuint16_t(412), Tuint16_t(411), Tuint16_t(411), Tuint16_t(411), Tuint16_t(411), Tuint16_t(163), Tuint16_t(412), Tuint16_t(412), Tuint16_t(412), Tuint16_t(163), Tuint16_t(412), Tuint16_t(412), Tuint16_t(412), Tuint16_t(414), Tuint16_t(416), Tuint16_t(417),
 67614  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(415), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(413),
 67615  	Tuint16_t(413), Tuint16_t(413), Tuint16_t(411), Tuint16_t(411), Tuint16_t(163), Tuint16_t(163), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419), Tuint16_t(419),
 67616  	Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(418), Tuint16_t(417), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413), Tuint16_t(413),
 67617  
 67618  	// block 27
 67619  	Tuint16_t(163), Tuint16_t(420), Tuint16_t(421), Tuint16_t(421), Tuint16_t(163), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422),
 67620  	Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422),
 67621  	Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422),
 67622  	Tuint16_t(422), Tuint16_t(422), Tuint16_t(163), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(163), Tuint16_t(422), Tuint16_t(163), Tuint16_t(163),
 67623  	Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(422), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(423), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(424),
 67624  	Tuint16_t(421), Tuint16_t(421), Tuint16_t(420), Tuint16_t(420), Tuint16_t(420), Tuint16_t(163), Tuint16_t(420), Tuint16_t(163), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(421), Tuint16_t(424),
 67625  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425), Tuint16_t(425),
 67626  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(421), Tuint16_t(421), Tuint16_t(426), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67627  
 67628  	// block 28
 67629  	Tuint16_t(163), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427),
 67630  	Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427),
 67631  	Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427), Tuint16_t(427),
 67632  	Tuint16_t(427), Tuint16_t(428), Tuint16_t(427), Tuint16_t(429), Tuint16_t(428), Tuint16_t(428), Tuint16_t(428), Tuint16_t(428), Tuint16_t(428), Tuint16_t(428), Tuint16_t(430), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(431),
 67633  	Tuint16_t(432), Tuint16_t(432), Tuint16_t(432), Tuint16_t(432), Tuint16_t(432), Tuint16_t(427), Tuint16_t(433), Tuint16_t(434), Tuint16_t(434), Tuint16_t(434), Tuint16_t(434), Tuint16_t(434), Tuint16_t(434), Tuint16_t(428), Tuint16_t(434), Tuint16_t(435),
 67634  	Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(436), Tuint16_t(437), Tuint16_t(437), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67635  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67636  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67637  
 67638  	// block 29
 67639  	Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438),
 67640  	Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438),
 67641  	Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438),
 67642  	Tuint16_t(438), Tuint16_t(439), Tuint16_t(438), Tuint16_t(440), Tuint16_t(439), Tuint16_t(439), Tuint16_t(439), Tuint16_t(439), Tuint16_t(439), Tuint16_t(439), Tuint16_t(441), Tuint16_t(439), Tuint16_t(439), Tuint16_t(438), Tuint16_t(163), Tuint16_t(163),
 67643  	Tuint16_t(442), Tuint16_t(442), Tuint16_t(442), Tuint16_t(442), Tuint16_t(442), Tuint16_t(163), Tuint16_t(443), Tuint16_t(163), Tuint16_t(444), Tuint16_t(444), Tuint16_t(444), Tuint16_t(444), Tuint16_t(444), Tuint16_t(439), Tuint16_t(163), Tuint16_t(163),
 67644  	Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(445), Tuint16_t(163), Tuint16_t(163), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438), Tuint16_t(438),
 67645  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67646  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67647  
 67648  	// block 30
 67649  	Tuint16_t(446), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(449), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(449), Tuint16_t(449), Tuint16_t(449),
 67650  	Tuint16_t(449), Tuint16_t(449), Tuint16_t(449), Tuint16_t(447), Tuint16_t(448), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(450), Tuint16_t(450), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447),
 67651  	Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(451), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452),
 67652  	Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(452), Tuint16_t(447), Tuint16_t(450), Tuint16_t(447), Tuint16_t(450), Tuint16_t(447), Tuint16_t(450), Tuint16_t(453), Tuint16_t(454), Tuint16_t(453), Tuint16_t(454), Tuint16_t(455), Tuint16_t(455),
 67653  	Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(163), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446),
 67654  	Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446),
 67655  	Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67656  	Tuint16_t(163), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(457), Tuint16_t(456), Tuint16_t(457), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(458),
 67657  
 67658  	// block 31
 67659  	Tuint16_t(456), Tuint16_t(456), Tuint16_t(450), Tuint16_t(450), Tuint16_t(459), Tuint16_t(448), Tuint16_t(450), Tuint16_t(450), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(446), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456),
 67660  	Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(163), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456),
 67661  	Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456),
 67662  	Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(456), Tuint16_t(163), Tuint16_t(447), Tuint16_t(447),
 67663  	Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(450), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(447), Tuint16_t(163), Tuint16_t(447), Tuint16_t(447),
 67664  	Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(448), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(448), Tuint16_t(448), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67665  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67666  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67667  
 67668  	// block 32
 67669  	Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461),
 67670  	Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461),
 67671  	Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(462), Tuint16_t(462), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463),
 67672  	Tuint16_t(463), Tuint16_t(464), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(465), Tuint16_t(462), Tuint16_t(466), Tuint16_t(466), Tuint16_t(464), Tuint16_t(464), Tuint16_t(463), Tuint16_t(463), Tuint16_t(461),
 67673  	Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(467), Tuint16_t(468), Tuint16_t(468), Tuint16_t(469), Tuint16_t(469), Tuint16_t(469), Tuint16_t(469),
 67674  	Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(464), Tuint16_t(464), Tuint16_t(463), Tuint16_t(463), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(463), Tuint16_t(463),
 67675  	Tuint16_t(463), Tuint16_t(461), Tuint16_t(462), Tuint16_t(470), Tuint16_t(470), Tuint16_t(461), Tuint16_t(461), Tuint16_t(462), Tuint16_t(462), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(461), Tuint16_t(461),
 67676  	Tuint16_t(461), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(463), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461),
 67677  
 67678  	// block 33
 67679  	Tuint16_t(461), Tuint16_t(461), Tuint16_t(463), Tuint16_t(462), Tuint16_t(464), Tuint16_t(463), Tuint16_t(463), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(470), Tuint16_t(471), Tuint16_t(461), Tuint16_t(470),
 67680  	Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(470), Tuint16_t(470), Tuint16_t(462), Tuint16_t(463), Tuint16_t(473), Tuint16_t(473),
 67681  	Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474),
 67682  	Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474),
 67683  	Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(474), Tuint16_t(163), Tuint16_t(474), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(474), Tuint16_t(163), Tuint16_t(163),
 67684  	Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475),
 67685  	Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475),
 67686  	Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475), Tuint16_t(476), Tuint16_t(477), Tuint16_t(475), Tuint16_t(475), Tuint16_t(475),
 67687  
 67688  	// block 34
 67689  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478),
 67690  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478),
 67691  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478),
 67692  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478),
 67693  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478),
 67694  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(479),
 67695  	Tuint16_t(480), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481),
 67696  	Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481),
 67697  
 67698  	// block 35
 67699  	Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481),
 67700  	Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481),
 67701  	Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 67702  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 67703  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 67704  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 67705  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 67706  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 67707  
 67708  	// block 36
 67709  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67710  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67711  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67712  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67713  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163),
 67714  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163),
 67715  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67716  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67717  
 67718  	// block 37
 67719  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163),
 67720  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67721  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67722  	Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 67723  	Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67724  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67725  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67726  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67727  
 67728  	// block 38
 67729  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67730  	Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67731  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67732  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67733  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67734  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(484), Tuint16_t(484), Tuint16_t(484),
 67735  	Tuint16_t(485), Tuint16_t(486), Tuint16_t(487), Tuint16_t(486), Tuint16_t(486), Tuint16_t(486), Tuint16_t(486), Tuint16_t(487), Tuint16_t(487), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488), Tuint16_t(488),
 67736  	Tuint16_t(488), Tuint16_t(488), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(489), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67737  
 67738  	// block 39
 67739  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 67740  	Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(490), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67741  	Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491),
 67742  	Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491),
 67743  	Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491),
 67744  	Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491),
 67745  	Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491), Tuint16_t(491),
 67746  	Tuint16_t(492), Tuint16_t(492), Tuint16_t(492), Tuint16_t(492), Tuint16_t(492), Tuint16_t(492), Tuint16_t(163), Tuint16_t(163), Tuint16_t(493), Tuint16_t(493), Tuint16_t(493), Tuint16_t(493), Tuint16_t(493), Tuint16_t(493), Tuint16_t(163), Tuint16_t(163),
 67747  
 67748  	// block 40
 67749  	Tuint16_t(494), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67750  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67751  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67752  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67753  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67754  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67755  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67756  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67757  
 67758  	// block 41
 67759  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67760  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67761  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67762  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67763  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67764  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67765  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67766  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67767  
 67768  	// block 42
 67769  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67770  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67771  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67772  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67773  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67774  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67775  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(496), Tuint16_t(497), Tuint16_t(495),
 67776  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67777  
 67778  	// block 43
 67779  	Tuint16_t(498), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499),
 67780  	Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(499), Tuint16_t(500), Tuint16_t(501), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67781  	Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502),
 67782  	Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502),
 67783  	Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502),
 67784  	Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502),
 67785  	Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(503), Tuint16_t(503), Tuint16_t(503), Tuint16_t(504), Tuint16_t(504),
 67786  	Tuint16_t(504), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(502), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67787  
 67788  	// block 44
 67789  	Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505), Tuint16_t(505),
 67790  	Tuint16_t(505), Tuint16_t(505), Tuint16_t(506), Tuint16_t(506), Tuint16_t(507), Tuint16_t(508), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(505),
 67791  	Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509), Tuint16_t(509),
 67792  	Tuint16_t(509), Tuint16_t(509), Tuint16_t(510), Tuint16_t(510), Tuint16_t(511), Tuint16_t(512), Tuint16_t(512), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67793  	Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513), Tuint16_t(513),
 67794  	Tuint16_t(513), Tuint16_t(513), Tuint16_t(514), Tuint16_t(514), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67795  	Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(515), Tuint16_t(163), Tuint16_t(515), Tuint16_t(515),
 67796  	Tuint16_t(515), Tuint16_t(163), Tuint16_t(516), Tuint16_t(516), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67797  
 67798  	// block 45
 67799  	Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517),
 67800  	Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517),
 67801  	Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(518), Tuint16_t(518), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517),
 67802  	Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(517), Tuint16_t(519), Tuint16_t(519), Tuint16_t(520), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(521), Tuint16_t(520), Tuint16_t(520),
 67803  	Tuint16_t(520), Tuint16_t(520), Tuint16_t(520), Tuint16_t(520), Tuint16_t(520), Tuint16_t(520), Tuint16_t(521), Tuint16_t(520), Tuint16_t(520), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522), Tuint16_t(522),
 67804  	Tuint16_t(522), Tuint16_t(522), Tuint16_t(523), Tuint16_t(522), Tuint16_t(524), Tuint16_t(524), Tuint16_t(524), Tuint16_t(525), Tuint16_t(526), Tuint16_t(526), Tuint16_t(524), Tuint16_t(527), Tuint16_t(517), Tuint16_t(522), Tuint16_t(163), Tuint16_t(163),
 67805  	Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(528), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67806  	Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(529), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67807  
 67808  	// block 46
 67809  	Tuint16_t(530), Tuint16_t(530), Tuint16_t(531), Tuint16_t(532), Tuint16_t(533), Tuint16_t(531), Tuint16_t(534), Tuint16_t(530), Tuint16_t(533), Tuint16_t(535), Tuint16_t(536), Tuint16_t(537), Tuint16_t(537), Tuint16_t(537), Tuint16_t(538), Tuint16_t(537),
 67810  	Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(539), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67811  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540),
 67812  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540),
 67813  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(541), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540),
 67814  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540),
 67815  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540),
 67816  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67817  
 67818  	// block 47
 67819  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(542), Tuint16_t(542), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540),
 67820  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540),
 67821  	Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(540), Tuint16_t(543), Tuint16_t(540), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67822  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67823  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67824  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67825  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 67826  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67827  
 67828  	// block 48
 67829  	Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544),
 67830  	Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(544), Tuint16_t(163),
 67831  	Tuint16_t(545), Tuint16_t(545), Tuint16_t(545), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(545), Tuint16_t(545), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67832  	Tuint16_t(546), Tuint16_t(546), Tuint16_t(545), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(546), Tuint16_t(547), Tuint16_t(547), Tuint16_t(547), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67833  	Tuint16_t(548), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(549), Tuint16_t(549), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550), Tuint16_t(550),
 67834  	Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551),
 67835  	Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(163), Tuint16_t(163),
 67836  	Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(551), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67837  
 67838  	// block 49
 67839  	Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552),
 67840  	Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552),
 67841  	Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67842  	Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(553), Tuint16_t(553), Tuint16_t(553), Tuint16_t(552), Tuint16_t(552), Tuint16_t(553), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552),
 67843  	Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(552), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67844  	Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(554), Tuint16_t(555), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(556), Tuint16_t(556),
 67845  	Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557),
 67846  	Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557), Tuint16_t(557),
 67847  
 67848  	// block 50
 67849  	Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558),
 67850  	Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(558), Tuint16_t(559), Tuint16_t(559), Tuint16_t(560), Tuint16_t(560), Tuint16_t(559), Tuint16_t(163), Tuint16_t(163), Tuint16_t(561), Tuint16_t(561),
 67851  	Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562),
 67852  	Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562),
 67853  	Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562),
 67854  	Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(562), Tuint16_t(563), Tuint16_t(564), Tuint16_t(563), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(163),
 67855  	Tuint16_t(565), Tuint16_t(566), Tuint16_t(564), Tuint16_t(566), Tuint16_t(566), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(564), Tuint16_t(563), Tuint16_t(563), Tuint16_t(563),
 67856  	Tuint16_t(563), Tuint16_t(563), Tuint16_t(563), Tuint16_t(564), Tuint16_t(564), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(567), Tuint16_t(163), Tuint16_t(163), Tuint16_t(567),
 67857  
 67858  	// block 51
 67859  	Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67860  	Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(568), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67861  	Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(569), Tuint16_t(570), Tuint16_t(571), Tuint16_t(571), Tuint16_t(571), Tuint16_t(571), Tuint16_t(569), Tuint16_t(569), Tuint16_t(163), Tuint16_t(163),
 67862  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(572), Tuint16_t(573),
 67863  	Tuint16_t(573), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(163),
 67864  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67865  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67866  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67867  
 67868  	// block 52
 67869  	Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(575), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576),
 67870  	Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576),
 67871  	Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576),
 67872  	Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(577), Tuint16_t(578), Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(574), Tuint16_t(575), Tuint16_t(574), Tuint16_t(575), Tuint16_t(575), Tuint16_t(575),
 67873  	Tuint16_t(575), Tuint16_t(575), Tuint16_t(574), Tuint16_t(575), Tuint16_t(579), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(576), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67874  	Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(580), Tuint16_t(581), Tuint16_t(581), Tuint16_t(582), Tuint16_t(583), Tuint16_t(581), Tuint16_t(581),
 67875  	Tuint16_t(582), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(577), Tuint16_t(577), Tuint16_t(577), Tuint16_t(577), Tuint16_t(577),
 67876  	Tuint16_t(577), Tuint16_t(577), Tuint16_t(577), Tuint16_t(577), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(584), Tuint16_t(581), Tuint16_t(581), Tuint16_t(163),
 67877  
 67878  	// block 53
 67879  	Tuint16_t(585), Tuint16_t(585), Tuint16_t(586), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587),
 67880  	Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587),
 67881  	Tuint16_t(587), Tuint16_t(586), Tuint16_t(585), Tuint16_t(585), Tuint16_t(585), Tuint16_t(585), Tuint16_t(586), Tuint16_t(586), Tuint16_t(585), Tuint16_t(585), Tuint16_t(588), Tuint16_t(589), Tuint16_t(585), Tuint16_t(585), Tuint16_t(587), Tuint16_t(587),
 67882  	Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(590), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587), Tuint16_t(587),
 67883  	Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591),
 67884  	Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591),
 67885  	Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(591), Tuint16_t(592), Tuint16_t(593), Tuint16_t(594), Tuint16_t(594), Tuint16_t(593), Tuint16_t(593), Tuint16_t(593), Tuint16_t(594), Tuint16_t(593), Tuint16_t(594),
 67886  	Tuint16_t(594), Tuint16_t(594), Tuint16_t(595), Tuint16_t(595), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(596), Tuint16_t(596), Tuint16_t(596), Tuint16_t(596),
 67887  
 67888  	// block 54
 67889  	Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597),
 67890  	Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597),
 67891  	Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(598), Tuint16_t(599), Tuint16_t(599), Tuint16_t(599), Tuint16_t(599),
 67892  	Tuint16_t(599), Tuint16_t(599), Tuint16_t(599), Tuint16_t(599), Tuint16_t(598), Tuint16_t(598), Tuint16_t(600), Tuint16_t(601), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(602), Tuint16_t(602), Tuint16_t(603), Tuint16_t(603), Tuint16_t(603),
 67893  	Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(604), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(597), Tuint16_t(597), Tuint16_t(597),
 67894  	Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(605), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606),
 67895  	Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606),
 67896  	Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(606), Tuint16_t(607), Tuint16_t(607), Tuint16_t(607), Tuint16_t(608), Tuint16_t(607), Tuint16_t(607), Tuint16_t(609), Tuint16_t(609),
 67897  
 67898  	// block 55
 67899  	Tuint16_t(610), Tuint16_t(611), Tuint16_t(612), Tuint16_t(613), Tuint16_t(614), Tuint16_t(615), Tuint16_t(616), Tuint16_t(617), Tuint16_t(618), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67900  	Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619),
 67901  	Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619),
 67902  	Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619), Tuint16_t(163), Tuint16_t(163), Tuint16_t(619), Tuint16_t(619), Tuint16_t(619),
 67903  	Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(620), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67904  	Tuint16_t(621), Tuint16_t(622), Tuint16_t(621), Tuint16_t(623), Tuint16_t(622), Tuint16_t(624), Tuint16_t(624), Tuint16_t(625), Tuint16_t(624), Tuint16_t(625), Tuint16_t(626), Tuint16_t(622), Tuint16_t(625), Tuint16_t(625), Tuint16_t(622), Tuint16_t(622),
 67905  	Tuint16_t(625), Tuint16_t(627), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(622), Tuint16_t(628), Tuint16_t(629), Tuint16_t(630), Tuint16_t(630), Tuint16_t(624), Tuint16_t(630), Tuint16_t(630),
 67906  	Tuint16_t(630), Tuint16_t(630), Tuint16_t(631), Tuint16_t(632), Tuint16_t(633), Tuint16_t(629), Tuint16_t(629), Tuint16_t(634), Tuint16_t(635), Tuint16_t(635), Tuint16_t(636), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67907  
 67908  	// block 56
 67909  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 67910  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 67911  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(221), Tuint16_t(221), Tuint16_t(221), Tuint16_t(221), Tuint16_t(221), Tuint16_t(637), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147),
 67912  	Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147),
 67913  	Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147),
 67914  	Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(638), Tuint16_t(638), Tuint16_t(638),
 67915  	Tuint16_t(638), Tuint16_t(638), Tuint16_t(148), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(638), Tuint16_t(638), Tuint16_t(638), Tuint16_t(638), Tuint16_t(638), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 67916  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(639), Tuint16_t(640), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(641), Tuint16_t(70), Tuint16_t(70),
 67917  
 67918  	// block 57
 67919  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(642), Tuint16_t(70),
 67920  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(643), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644),
 67921  	Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(645), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(645), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644),
 67922  	Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(646),
 67923  	Tuint16_t(647), Tuint16_t(647), Tuint16_t(158), Tuint16_t(158), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 67924  	Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158),
 67925  	Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573),
 67926  	Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(573), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(648), Tuint16_t(154), Tuint16_t(649), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 67927  
 67928  	// block 58
 67929  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67930  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67931  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(67), Tuint16_t(65), Tuint16_t(66),
 67932  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67933  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67934  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67935  	Tuint16_t(650), Tuint16_t(651), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67936  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67937  
 67938  	// block 59
 67939  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67940  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(69), Tuint16_t(69), Tuint16_t(69), Tuint16_t(69), Tuint16_t(652), Tuint16_t(653), Tuint16_t(70), Tuint16_t(70), Tuint16_t(654), Tuint16_t(70),
 67941  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67942  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67943  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(67), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67944  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67945  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67946  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 67947  
 67948  	// block 60
 67949  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656),
 67950  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(163), Tuint16_t(163), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(163), Tuint16_t(163),
 67951  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656),
 67952  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656),
 67953  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(163), Tuint16_t(163), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(163), Tuint16_t(163),
 67954  	Tuint16_t(173), Tuint16_t(655), Tuint16_t(173), Tuint16_t(655), Tuint16_t(173), Tuint16_t(655), Tuint16_t(173), Tuint16_t(655), Tuint16_t(163), Tuint16_t(656), Tuint16_t(163), Tuint16_t(656), Tuint16_t(163), Tuint16_t(656), Tuint16_t(163), Tuint16_t(656),
 67955  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(655), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656), Tuint16_t(656),
 67956  	Tuint16_t(657), Tuint16_t(657), Tuint16_t(658), Tuint16_t(658), Tuint16_t(658), Tuint16_t(658), Tuint16_t(659), Tuint16_t(659), Tuint16_t(660), Tuint16_t(660), Tuint16_t(661), Tuint16_t(661), Tuint16_t(662), Tuint16_t(662), Tuint16_t(163), Tuint16_t(163),
 67957  
 67958  	// block 61
 67959  	Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664),
 67960  	Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664),
 67961  	Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(663), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664), Tuint16_t(664),
 67962  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(665), Tuint16_t(666), Tuint16_t(665), Tuint16_t(163), Tuint16_t(173), Tuint16_t(665), Tuint16_t(656), Tuint16_t(656), Tuint16_t(667), Tuint16_t(667), Tuint16_t(668), Tuint16_t(162), Tuint16_t(669), Tuint16_t(162),
 67963  	Tuint16_t(162), Tuint16_t(162), Tuint16_t(665), Tuint16_t(666), Tuint16_t(665), Tuint16_t(163), Tuint16_t(173), Tuint16_t(665), Tuint16_t(670), Tuint16_t(670), Tuint16_t(670), Tuint16_t(670), Tuint16_t(668), Tuint16_t(162), Tuint16_t(162), Tuint16_t(162),
 67964  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(173), Tuint16_t(173), Tuint16_t(163), Tuint16_t(163), Tuint16_t(173), Tuint16_t(173), Tuint16_t(656), Tuint16_t(656), Tuint16_t(671), Tuint16_t(671), Tuint16_t(163), Tuint16_t(162), Tuint16_t(162), Tuint16_t(162),
 67965  	Tuint16_t(655), Tuint16_t(655), Tuint16_t(173), Tuint16_t(173), Tuint16_t(173), Tuint16_t(215), Tuint16_t(173), Tuint16_t(173), Tuint16_t(656), Tuint16_t(656), Tuint16_t(672), Tuint16_t(672), Tuint16_t(220), Tuint16_t(162), Tuint16_t(162), Tuint16_t(162),
 67966  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(665), Tuint16_t(666), Tuint16_t(665), Tuint16_t(163), Tuint16_t(173), Tuint16_t(665), Tuint16_t(673), Tuint16_t(673), Tuint16_t(674), Tuint16_t(674), Tuint16_t(668), Tuint16_t(162), Tuint16_t(162), Tuint16_t(163),
 67967  
 67968  	// block 62
 67969  	Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(675), Tuint16_t(51), Tuint16_t(676), Tuint16_t(677), Tuint16_t(678), Tuint16_t(679),
 67970  	Tuint16_t(680), Tuint16_t(680), Tuint16_t(680), Tuint16_t(680), Tuint16_t(680), Tuint16_t(680), Tuint16_t(681), Tuint16_t(43), Tuint16_t(682), Tuint16_t(683), Tuint16_t(684), Tuint16_t(685), Tuint16_t(685), Tuint16_t(686), Tuint16_t(684), Tuint16_t(685),
 67971  	Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(687), Tuint16_t(43), Tuint16_t(43), Tuint16_t(687), Tuint16_t(688), Tuint16_t(689), Tuint16_t(690), Tuint16_t(691), Tuint16_t(692), Tuint16_t(693), Tuint16_t(694), Tuint16_t(695),
 67972  	Tuint16_t(696), Tuint16_t(696), Tuint16_t(697), Tuint16_t(697), Tuint16_t(697), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(49), Tuint16_t(57), Tuint16_t(43), Tuint16_t(698), Tuint16_t(699), Tuint16_t(43), Tuint16_t(700),
 67973  	Tuint16_t(701), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(702), Tuint16_t(703), Tuint16_t(704), Tuint16_t(699), Tuint16_t(699), Tuint16_t(698), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43),
 67974  	Tuint16_t(43), Tuint16_t(43), Tuint16_t(50), Tuint16_t(705), Tuint16_t(700), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(675),
 67975  	Tuint16_t(51), Tuint16_t(706), Tuint16_t(706), Tuint16_t(706), Tuint16_t(706), Tuint16_t(707), Tuint16_t(708), Tuint16_t(709), Tuint16_t(710), Tuint16_t(711), Tuint16_t(712), Tuint16_t(712), Tuint16_t(712), Tuint16_t(712), Tuint16_t(712), Tuint16_t(712),
 67976  	Tuint16_t(54), Tuint16_t(645), Tuint16_t(163), Tuint16_t(163), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(713), Tuint16_t(714), Tuint16_t(715), Tuint16_t(716), Tuint16_t(717), Tuint16_t(644),
 67977  
 67978  	// block 63
 67979  	Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(713), Tuint16_t(714), Tuint16_t(715), Tuint16_t(716), Tuint16_t(717), Tuint16_t(163),
 67980  	Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(644), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67981  	Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431),
 67982  	Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431), Tuint16_t(431),
 67983  	Tuint16_t(431), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718), Tuint16_t(718),
 67984  	Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(720), Tuint16_t(720), Tuint16_t(720),
 67985  	Tuint16_t(720), Tuint16_t(719), Tuint16_t(720), Tuint16_t(721), Tuint16_t(720), Tuint16_t(719), Tuint16_t(719), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(158), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719), Tuint16_t(719),
 67986  	Tuint16_t(722), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 67987  
 67988  	// block 64
 67989  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(724), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(724), Tuint16_t(723), Tuint16_t(723), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725),
 67990  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(723), Tuint16_t(724), Tuint16_t(723), Tuint16_t(723), Tuint16_t(726), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(723), Tuint16_t(723),
 67991  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(727), Tuint16_t(723), Tuint16_t(724), Tuint16_t(723), Tuint16_t(728), Tuint16_t(723), Tuint16_t(724), Tuint16_t(729), Tuint16_t(730), Tuint16_t(731), Tuint16_t(724), Tuint16_t(724), Tuint16_t(732), Tuint16_t(725),
 67992  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(733), Tuint16_t(724), Tuint16_t(725), Tuint16_t(734), Tuint16_t(734), Tuint16_t(734), Tuint16_t(734), Tuint16_t(735), Tuint16_t(723), Tuint16_t(723), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724),
 67993  	Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(723), Tuint16_t(715), Tuint16_t(723), Tuint16_t(723), Tuint16_t(737), Tuint16_t(460),
 67994  	Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 67995  	Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738), Tuint16_t(738),
 67996  	Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739), Tuint16_t(739),
 67997  
 67998  	// block 65
 67999  	Tuint16_t(740), Tuint16_t(740), Tuint16_t(740), Tuint16_t(65), Tuint16_t(66), Tuint16_t(740), Tuint16_t(740), Tuint16_t(740), Tuint16_t(740), Tuint16_t(58), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68000  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(741), Tuint16_t(742), Tuint16_t(742), Tuint16_t(742), Tuint16_t(742), Tuint16_t(742), Tuint16_t(50), Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743),
 68001  	Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(743), Tuint16_t(45), Tuint16_t(742), Tuint16_t(742), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(45),
 68002  	Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743),
 68003  	Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(50),
 68004  	Tuint16_t(743), Tuint16_t(743), Tuint16_t(50), Tuint16_t(743), Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45),
 68005  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68006  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68007  
 68008  	// block 66
 68009  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50),
 68010  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(745), Tuint16_t(53), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744),
 68011  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68012  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50),
 68013  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68014  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68015  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744),
 68016  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68017  
 68018  	// block 67
 68019  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744),
 68020  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68021  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68022  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68023  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50),
 68024  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68025  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50),
 68026  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50),
 68027  
 68028  	// block 68
 68029  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68030  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68031  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(749), Tuint16_t(750), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68032  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751),
 68033  	Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751),
 68034  	Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751),
 68035  	Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751),
 68036  	Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(751), Tuint16_t(45), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68037  
 68038  	// block 69
 68039  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(752), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68040  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(751), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68041  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68042  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68043  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47),
 68044  	Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68045  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47),
 68046  	Tuint16_t(748), Tuint16_t(47), Tuint16_t(47), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68047  
 68048  	// block 70
 68049  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68050  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68051  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753),
 68052  	Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753),
 68053  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753),
 68054  	Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753),
 68055  	Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68056  	Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68057  
 68058  	// block 71
 68059  	Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54),
 68060  	Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68061  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68062  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754),
 68063  	Tuint16_t(754), Tuint16_t(754), Tuint16_t(755), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754), Tuint16_t(754),
 68064  	Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756),
 68065  	Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(756), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68066  	Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68067  
 68068  	// block 72
 68069  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68070  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68071  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68072  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68073  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68074  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68075  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68076  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68077  
 68078  	// block 73
 68079  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68080  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68081  	Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743),
 68082  	Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(742), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743),
 68083  	Tuint16_t(742), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743),
 68084  	Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68085  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(45), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(743), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68086  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(741), Tuint16_t(741), Tuint16_t(757), Tuint16_t(757), Tuint16_t(50),
 68087  
 68088  	// block 74
 68089  	Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(758), Tuint16_t(743), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752),
 68090  	Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(759), Tuint16_t(752), Tuint16_t(752),
 68091  	Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47),
 68092  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752),
 68093  	Tuint16_t(742), Tuint16_t(752), Tuint16_t(742), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748),
 68094  	Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47),
 68095  	Tuint16_t(742), Tuint16_t(758), Tuint16_t(758), Tuint16_t(742), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(758), Tuint16_t(758), Tuint16_t(760),
 68096  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(748),
 68097  
 68098  	// block 75
 68099  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68100  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(748), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752),
 68101  	Tuint16_t(47), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(748), Tuint16_t(761), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752),
 68102  	Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(748), Tuint16_t(752),
 68103  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(47),
 68104  	Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(47), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752),
 68105  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752),
 68106  	Tuint16_t(47), Tuint16_t(47), Tuint16_t(748), Tuint16_t(748), Tuint16_t(47), Tuint16_t(748), Tuint16_t(752), Tuint16_t(47), Tuint16_t(47), Tuint16_t(759), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(752), Tuint16_t(752),
 68107  
 68108  	// block 76
 68109  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(762), Tuint16_t(762), Tuint16_t(759), Tuint16_t(759), Tuint16_t(752), Tuint16_t(47),
 68110  	Tuint16_t(752), Tuint16_t(752), Tuint16_t(47), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45),
 68111  	Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68112  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68113  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45),
 68114  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68115  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(752), Tuint16_t(752), Tuint16_t(752), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704),
 68116  	Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68117  
 68118  	// block 77
 68119  	Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68120  	Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68121  	Tuint16_t(45), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68122  	Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748),
 68123  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(746), Tuint16_t(747), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50),
 68124  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50),
 68125  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747),
 68126  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68127  
 68128  	// block 78
 68129  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68130  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68131  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68132  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68133  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68134  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68135  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68136  	Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763), Tuint16_t(763),
 68137  
 68138  	// block 79
 68139  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68140  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68141  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68142  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(741), Tuint16_t(741), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68143  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68144  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68145  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68146  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68147  
 68148  	// block 80
 68149  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746),
 68150  	Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68151  	Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68152  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68153  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744),
 68154  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(746), Tuint16_t(747), Tuint16_t(746), Tuint16_t(747), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68155  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68156  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(746), Tuint16_t(747), Tuint16_t(50), Tuint16_t(50),
 68157  
 68158  	// block 81
 68159  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68160  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68161  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50),
 68162  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50),
 68163  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68164  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68165  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68166  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68167  
 68168  	// block 82
 68169  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68170  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68171  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(744),
 68172  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68173  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744),
 68174  	Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(50),
 68175  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50),
 68176  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(744), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68177  
 68178  	// block 83
 68179  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(47), Tuint16_t(47), Tuint16_t(47), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68180  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68181  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68182  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50),
 68183  	Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(50), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68184  	Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(748), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68185  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68186  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(753), Tuint16_t(753), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68187  
 68188  	// block 84
 68189  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68190  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(753), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68191  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68192  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68193  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68194  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68195  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45),
 68196  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(45), Tuint16_t(764), Tuint16_t(45),
 68197  
 68198  	// block 85
 68199  	Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765),
 68200  	Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765),
 68201  	Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765), Tuint16_t(765),
 68202  	Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766),
 68203  	Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766),
 68204  	Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766), Tuint16_t(766),
 68205  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(767), Tuint16_t(768), Tuint16_t(769), Tuint16_t(770), Tuint16_t(771), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(772), Tuint16_t(773), Tuint16_t(774),
 68206  	Tuint16_t(775), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(645), Tuint16_t(644), Tuint16_t(776), Tuint16_t(776),
 68207  
 68208  	// block 86
 68209  	Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212),
 68210  	Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212),
 68211  	Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212),
 68212  	Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212),
 68213  	Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212),
 68214  	Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212),
 68215  	Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(777), Tuint16_t(778), Tuint16_t(778), Tuint16_t(778), Tuint16_t(778), Tuint16_t(778), Tuint16_t(778), Tuint16_t(211), Tuint16_t(212), Tuint16_t(211), Tuint16_t(212), Tuint16_t(779),
 68216  	Tuint16_t(779), Tuint16_t(779), Tuint16_t(211), Tuint16_t(212), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(780), Tuint16_t(780), Tuint16_t(780), Tuint16_t(780), Tuint16_t(781), Tuint16_t(780), Tuint16_t(780),
 68217  
 68218  	// block 87
 68219  	Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782),
 68220  	Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782),
 68221  	Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(782), Tuint16_t(163), Tuint16_t(782), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(782), Tuint16_t(163), Tuint16_t(163),
 68222  	Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783),
 68223  	Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783),
 68224  	Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783),
 68225  	Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(783), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(784),
 68226  	Tuint16_t(785), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(786),
 68227  
 68228  	// block 88
 68229  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483),
 68230  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68231  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 68232  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 68233  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 68234  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 68235  	Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787),
 68236  	Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787),
 68237  
 68238  	// block 89
 68239  	Tuint16_t(43), Tuint16_t(43), Tuint16_t(788), Tuint16_t(789), Tuint16_t(788), Tuint16_t(789), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(788), Tuint16_t(789), Tuint16_t(43), Tuint16_t(788), Tuint16_t(789), Tuint16_t(43), Tuint16_t(43),
 68240  	Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(680), Tuint16_t(43), Tuint16_t(43), Tuint16_t(680), Tuint16_t(43), Tuint16_t(788), Tuint16_t(789), Tuint16_t(43), Tuint16_t(43),
 68241  	Tuint16_t(788), Tuint16_t(789), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(699), Tuint16_t(790),
 68242  	Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(680), Tuint16_t(680), Tuint16_t(699), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43),
 68243  	Tuint16_t(680), Tuint16_t(791), Tuint16_t(684), Tuint16_t(792), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(43), Tuint16_t(791), Tuint16_t(43), Tuint16_t(791), Tuint16_t(791),
 68244  	Tuint16_t(45), Tuint16_t(45), Tuint16_t(43), Tuint16_t(699), Tuint16_t(699), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(703), Tuint16_t(704), Tuint16_t(680), Tuint16_t(753), Tuint16_t(753),
 68245  	Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753),
 68246  	Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753), Tuint16_t(753),
 68247  
 68248  	// block 90
 68249  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68250  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(163), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68251  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68252  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68253  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68254  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68255  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68256  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68257  
 68258  	// block 91
 68259  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68260  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68261  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68262  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68263  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68264  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68265  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68266  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68267  
 68268  	// block 92
 68269  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68270  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68271  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68272  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68273  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793),
 68274  	Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(793), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68275  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68276  	Tuint16_t(794), Tuint16_t(794), Tuint16_t(795), Tuint16_t(795), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(794), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68277  
 68278  	// block 93
 68279  	Tuint16_t(675), Tuint16_t(796), Tuint16_t(797), Tuint16_t(798), Tuint16_t(723), Tuint16_t(799), Tuint16_t(800), Tuint16_t(801), Tuint16_t(802), Tuint16_t(803), Tuint16_t(802), Tuint16_t(803), Tuint16_t(804), Tuint16_t(805), Tuint16_t(804), Tuint16_t(805),
 68280  	Tuint16_t(802), Tuint16_t(803), Tuint16_t(45), Tuint16_t(806), Tuint16_t(802), Tuint16_t(803), Tuint16_t(802), Tuint16_t(803), Tuint16_t(802), Tuint16_t(803), Tuint16_t(802), Tuint16_t(803), Tuint16_t(807), Tuint16_t(808), Tuint16_t(809), Tuint16_t(809),
 68281  	Tuint16_t(45), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(810), Tuint16_t(810), Tuint16_t(810), Tuint16_t(810), Tuint16_t(811), Tuint16_t(811),
 68282  	Tuint16_t(812), Tuint16_t(813), Tuint16_t(813), Tuint16_t(813), Tuint16_t(813), Tuint16_t(813), Tuint16_t(723), Tuint16_t(814), Tuint16_t(801), Tuint16_t(801), Tuint16_t(801), Tuint16_t(815), Tuint16_t(816), Tuint16_t(817), Tuint16_t(818), Tuint16_t(818),
 68283  	Tuint16_t(163), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 68284  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 68285  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 68286  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 68287  
 68288  	// block 94
 68289  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 68290  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(163), Tuint16_t(163), Tuint16_t(820), Tuint16_t(820), Tuint16_t(821), Tuint16_t(821), Tuint16_t(822), Tuint16_t(822), Tuint16_t(819),
 68291  	Tuint16_t(823), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68292  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68293  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68294  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68295  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68296  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(825), Tuint16_t(826), Tuint16_t(827), Tuint16_t(827), Tuint16_t(824),
 68297  
 68298  	// block 95
 68299  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828),
 68300  	Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828),
 68301  	Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828),
 68302  	Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829),
 68303  	Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829),
 68304  	Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829),
 68305  	Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(830), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829),
 68306  	Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829),
 68307  
 68308  	// block 96
 68309  	Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163),
 68310  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68311  	Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828),
 68312  	Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828), Tuint16_t(828),
 68313  	Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818),
 68314  	Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818),
 68315  	Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(818), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68316  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68317  
 68318  	// block 97
 68319  	Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833),
 68320  	Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(834), Tuint16_t(834), Tuint16_t(163),
 68321  	Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68322  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68323  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835),
 68324  	Tuint16_t(723), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68325  	Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833),
 68326  	Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(833), Tuint16_t(834), Tuint16_t(834), Tuint16_t(834), Tuint16_t(460),
 68327  
 68328  	// block 98
 68329  	Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68330  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(836), Tuint16_t(831), Tuint16_t(836), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68331  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68332  	Tuint16_t(831), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58), Tuint16_t(58),
 68333  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 68334  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837),
 68335  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837),
 68336  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(831),
 68337  
 68338  	// block 99
 68339  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837),
 68340  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837),
 68341  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837),
 68342  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837),
 68343  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837),
 68344  	Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(837), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68345  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68346  	Tuint16_t(831), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68347  
 68348  	// block 100
 68349  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68350  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68351  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68352  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68353  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68354  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(723), Tuint16_t(723),
 68355  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831),
 68356  	Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(831), Tuint16_t(723),
 68357  
 68358  	// block 101
 68359  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68360  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68361  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68362  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68363  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68364  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68365  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68366  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68367  
 68368  	// block 102
 68369  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68370  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68371  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68372  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 68373  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 68374  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 68375  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 68376  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 68377  
 68378  	// block 103
 68379  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68380  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(840), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68381  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68382  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68383  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68384  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68385  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68386  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68387  
 68388  	// block 104
 68389  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68390  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68391  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68392  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68393  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68394  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68395  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68396  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839),
 68397  
 68398  	// block 105
 68399  	Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(839), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68400  	Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841),
 68401  	Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841),
 68402  	Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841),
 68403  	Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(841), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68404  	Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842),
 68405  	Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842),
 68406  	Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(842), Tuint16_t(843), Tuint16_t(843), Tuint16_t(843), Tuint16_t(843), Tuint16_t(843), Tuint16_t(843), Tuint16_t(844), Tuint16_t(845),
 68407  
 68408  	// block 106
 68409  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68410  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68411  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68412  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68413  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68414  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68415  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68416  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68417  
 68418  	// block 107
 68419  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(847), Tuint16_t(848), Tuint16_t(849), Tuint16_t(849),
 68420  	Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846), Tuint16_t(846),
 68421  	Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(850), Tuint16_t(846), Tuint16_t(846), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68422  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68423  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(851), Tuint16_t(852), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 68424  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 68425  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(853), Tuint16_t(246),
 68426  	Tuint16_t(248), Tuint16_t(248), Tuint16_t(248), Tuint16_t(854), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(787), Tuint16_t(855), Tuint16_t(855), Tuint16_t(854), Tuint16_t(856),
 68427  
 68428  	// block 108
 68429  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241),
 68430  	Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(240), Tuint16_t(241), Tuint16_t(857), Tuint16_t(857), Tuint16_t(787), Tuint16_t(787),
 68431  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 68432  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 68433  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 68434  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 68435  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859), Tuint16_t(859),
 68436  	Tuint16_t(860), Tuint16_t(860), Tuint16_t(861), Tuint16_t(862), Tuint16_t(863), Tuint16_t(863), Tuint16_t(863), Tuint16_t(862), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68437  
 68438  	// block 109
 68439  	Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(864), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46),
 68440  	Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(46), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149), Tuint16_t(149),
 68441  	Tuint16_t(46), Tuint16_t(46), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 68442  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 68443  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 68444  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 68445  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 68446  	Tuint16_t(644), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(865), Tuint16_t(65), Tuint16_t(66),
 68447  
 68448  	// block 110
 68449  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(149), Tuint16_t(866), Tuint16_t(866), Tuint16_t(65), Tuint16_t(66), Tuint16_t(867), Tuint16_t(70), Tuint16_t(92),
 68450  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(868), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 68451  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(869), Tuint16_t(870), Tuint16_t(871), Tuint16_t(872), Tuint16_t(869), Tuint16_t(70),
 68452  	Tuint16_t(873), Tuint16_t(874), Tuint16_t(875), Tuint16_t(876), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66),
 68453  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(877), Tuint16_t(878), Tuint16_t(879), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68454  	Tuint16_t(65), Tuint16_t(66), Tuint16_t(163), Tuint16_t(70), Tuint16_t(163), Tuint16_t(70), Tuint16_t(65), Tuint16_t(66), Tuint16_t(65), Tuint16_t(66), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68455  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68456  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(880), Tuint16_t(880), Tuint16_t(880), Tuint16_t(65), Tuint16_t(66), Tuint16_t(92), Tuint16_t(147), Tuint16_t(147), Tuint16_t(70), Tuint16_t(92), Tuint16_t(92), Tuint16_t(92), Tuint16_t(92), Tuint16_t(92),
 68457  
 68458  	// block 111
 68459  	Tuint16_t(881), Tuint16_t(881), Tuint16_t(882), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(883), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(882), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881),
 68460  	Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(881),
 68461  	Tuint16_t(881), Tuint16_t(881), Tuint16_t(881), Tuint16_t(884), Tuint16_t(884), Tuint16_t(882), Tuint16_t(882), Tuint16_t(884), Tuint16_t(885), Tuint16_t(885), Tuint16_t(885), Tuint16_t(885), Tuint16_t(883), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68462  	Tuint16_t(886), Tuint16_t(886), Tuint16_t(886), Tuint16_t(887), Tuint16_t(887), Tuint16_t(887), Tuint16_t(888), Tuint16_t(888), Tuint16_t(889), Tuint16_t(890), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68463  	Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891),
 68464  	Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891),
 68465  	Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891),
 68466  	Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(891), Tuint16_t(892), Tuint16_t(892), Tuint16_t(893), Tuint16_t(893), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68467  
 68468  	// block 112
 68469  	Tuint16_t(894), Tuint16_t(894), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895),
 68470  	Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895),
 68471  	Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895),
 68472  	Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(895), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894),
 68473  	Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(894), Tuint16_t(896), Tuint16_t(897), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(898), Tuint16_t(898),
 68474  	Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(899), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68475  	Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336), Tuint16_t(336),
 68476  	Tuint16_t(336), Tuint16_t(900), Tuint16_t(335), Tuint16_t(901), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(335), Tuint16_t(343), Tuint16_t(343), Tuint16_t(343), Tuint16_t(335), Tuint16_t(343), Tuint16_t(335), Tuint16_t(335), Tuint16_t(333),
 68477  
 68478  	// block 113
 68479  	Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(902), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903),
 68480  	Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903),
 68481  	Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(903), Tuint16_t(904), Tuint16_t(904), Tuint16_t(904), Tuint16_t(904), Tuint16_t(904), Tuint16_t(905), Tuint16_t(905), Tuint16_t(905), Tuint16_t(906), Tuint16_t(907),
 68482  	Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908),
 68483  	Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(908), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909), Tuint16_t(909),
 68484  	Tuint16_t(909), Tuint16_t(909), Tuint16_t(910), Tuint16_t(911), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(912),
 68485  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478),
 68486  	Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(478), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68487  
 68488  	// block 114
 68489  	Tuint16_t(913), Tuint16_t(913), Tuint16_t(913), Tuint16_t(914), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915),
 68490  	Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915),
 68491  	Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(915),
 68492  	Tuint16_t(915), Tuint16_t(915), Tuint16_t(915), Tuint16_t(916), Tuint16_t(914), Tuint16_t(914), Tuint16_t(913), Tuint16_t(913), Tuint16_t(913), Tuint16_t(913), Tuint16_t(914), Tuint16_t(914), Tuint16_t(913), Tuint16_t(913), Tuint16_t(914), Tuint16_t(914),
 68493  	Tuint16_t(917), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(919), Tuint16_t(920), Tuint16_t(920), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(918), Tuint16_t(163), Tuint16_t(921),
 68494  	Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(922), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(918), Tuint16_t(918),
 68495  	Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(471), Tuint16_t(923), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461),
 68496  	Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(472), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(163),
 68497  
 68498  	// block 115
 68499  	Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924),
 68500  	Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924),
 68501  	Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(925), Tuint16_t(925), Tuint16_t(925), Tuint16_t(925), Tuint16_t(925), Tuint16_t(925), Tuint16_t(926),
 68502  	Tuint16_t(926), Tuint16_t(925), Tuint16_t(925), Tuint16_t(926), Tuint16_t(926), Tuint16_t(925), Tuint16_t(925), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68503  	Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(925), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(924), Tuint16_t(925), Tuint16_t(926), Tuint16_t(163), Tuint16_t(163),
 68504  	Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(927), Tuint16_t(163), Tuint16_t(163), Tuint16_t(928), Tuint16_t(929), Tuint16_t(929), Tuint16_t(929),
 68505  	Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461),
 68506  	Tuint16_t(923), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(461), Tuint16_t(473), Tuint16_t(473), Tuint16_t(473), Tuint16_t(461), Tuint16_t(470), Tuint16_t(471), Tuint16_t(470), Tuint16_t(461), Tuint16_t(461),
 68507  
 68508  	// block 116
 68509  	Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930),
 68510  	Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930),
 68511  	Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930), Tuint16_t(930),
 68512  	Tuint16_t(931), Tuint16_t(930), Tuint16_t(931), Tuint16_t(931), Tuint16_t(931), Tuint16_t(932), Tuint16_t(932), Tuint16_t(931), Tuint16_t(931), Tuint16_t(932), Tuint16_t(930), Tuint16_t(932), Tuint16_t(932), Tuint16_t(930), Tuint16_t(931), Tuint16_t(933),
 68513  	Tuint16_t(934), Tuint16_t(933), Tuint16_t(934), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68514  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(930), Tuint16_t(930), Tuint16_t(935), Tuint16_t(936), Tuint16_t(937),
 68515  	Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(939), Tuint16_t(940), Tuint16_t(940), Tuint16_t(939), Tuint16_t(939),
 68516  	Tuint16_t(941), Tuint16_t(941), Tuint16_t(938), Tuint16_t(942), Tuint16_t(942), Tuint16_t(939), Tuint16_t(943), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68517  
 68518  	// block 117
 68519  	Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 68520  	Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68521  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 68522  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 68523  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 68524  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(944), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(866), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147),
 68525  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(221), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(945), Tuint16_t(46), Tuint16_t(46), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68526  	Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946),
 68527  
 68528  	// block 118
 68529  	Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946),
 68530  	Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946),
 68531  	Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946),
 68532  	Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946), Tuint16_t(946),
 68533  	Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938),
 68534  	Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(938),
 68535  	Tuint16_t(938), Tuint16_t(938), Tuint16_t(938), Tuint16_t(939), Tuint16_t(939), Tuint16_t(940), Tuint16_t(939), Tuint16_t(939), Tuint16_t(940), Tuint16_t(939), Tuint16_t(939), Tuint16_t(941), Tuint16_t(947), Tuint16_t(943), Tuint16_t(163), Tuint16_t(163),
 68536  	Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(948), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68537  
 68538  	// block 119
 68539  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68540  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68541  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68542  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68543  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68544  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68545  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68546  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68547  
 68548  	// block 120
 68549  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68550  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68551  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68552  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68553  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68554  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68555  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68556  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68557  
 68558  	// block 121
 68559  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68560  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68561  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68562  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68563  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68564  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68565  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68566  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68567  
 68568  	// block 122
 68569  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68570  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68571  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68572  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68573  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68574  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68575  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68576  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68577  
 68578  	// block 123
 68579  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68580  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68581  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68582  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68583  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68584  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68585  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68586  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68587  
 68588  	// block 124
 68589  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68590  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68591  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68592  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68593  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68594  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68595  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68596  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68597  
 68598  	// block 125
 68599  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68600  	Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68601  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68602  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68603  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68604  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68605  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68606  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68607  
 68608  	// block 126
 68609  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(949), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68610  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950),
 68611  	Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(950), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68612  	Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481),
 68613  	Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(481), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 68614  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 68615  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482),
 68616  	Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(482), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68617  
 68618  	// block 127
 68619  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68620  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68621  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68622  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68623  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68624  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68625  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68626  	Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951), Tuint16_t(951),
 68627  
 68628  	// block 128
 68629  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68630  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68631  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68632  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68633  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68634  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68635  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68636  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 68637  
 68638  	// block 129
 68639  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68640  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68641  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68642  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68643  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68644  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68645  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68646  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68647  
 68648  	// block 130
 68649  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(838), Tuint16_t(838),
 68650  	Tuint16_t(953), Tuint16_t(838), Tuint16_t(953), Tuint16_t(838), Tuint16_t(838), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(838),
 68651  	Tuint16_t(953), Tuint16_t(838), Tuint16_t(953), Tuint16_t(838), Tuint16_t(838), Tuint16_t(953), Tuint16_t(953), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68652  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68653  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68654  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68655  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(163), Tuint16_t(163),
 68656  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68657  
 68658  	// block 131
 68659  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68660  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68661  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68662  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68663  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 68664  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68665  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68666  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68667  
 68668  	// block 132
 68669  	Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(652), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68670  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(257), Tuint16_t(257), Tuint16_t(257), Tuint16_t(257), Tuint16_t(257), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(270), Tuint16_t(265), Tuint16_t(270),
 68671  	Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(954), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270),
 68672  	Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(270), Tuint16_t(262),
 68673  	Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(270), Tuint16_t(270), Tuint16_t(262), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270), Tuint16_t(270),
 68674  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68675  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68676  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68677  
 68678  	// block 133
 68679  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68680  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68681  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68682  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(331),
 68683  	Tuint16_t(331), Tuint16_t(331), Tuint16_t(331), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 68684  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68685  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68686  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68687  
 68688  	// block 134
 68689  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68690  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68691  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68692  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68693  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68694  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(955), Tuint16_t(955),
 68695  	Tuint16_t(955), Tuint16_t(955), Tuint16_t(955), Tuint16_t(955), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68696  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68697  
 68698  	// block 135
 68699  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68700  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68701  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68702  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68703  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68704  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68705  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68706  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68707  
 68708  	// block 136
 68709  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68710  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68711  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68712  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(956), Tuint16_t(957),
 68713  	Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280), Tuint16_t(280),
 68714  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68715  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68716  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68717  
 68718  	// block 137
 68719  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68720  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68721  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68722  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68723  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(280),
 68724  	Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958),
 68725  	Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958), Tuint16_t(958),
 68726  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(959), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(955), Tuint16_t(955), Tuint16_t(277), Tuint16_t(960), Tuint16_t(280), Tuint16_t(280),
 68727  
 68728  	// block 138
 68729  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(962),
 68730  	Tuint16_t(963), Tuint16_t(963), Tuint16_t(963), Tuint16_t(964), Tuint16_t(963), Tuint16_t(963), Tuint16_t(963), Tuint16_t(965), Tuint16_t(966), Tuint16_t(963), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68731  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(855), Tuint16_t(855),
 68732  	Tuint16_t(963), Tuint16_t(967), Tuint16_t(967), Tuint16_t(700), Tuint16_t(700), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965), Tuint16_t(966), Tuint16_t(965),
 68733  	Tuint16_t(966), Tuint16_t(968), Tuint16_t(969), Tuint16_t(968), Tuint16_t(969), Tuint16_t(798), Tuint16_t(798), Tuint16_t(965), Tuint16_t(966), Tuint16_t(963), Tuint16_t(963), Tuint16_t(963), Tuint16_t(963), Tuint16_t(700), Tuint16_t(700), Tuint16_t(700),
 68734  	Tuint16_t(970), Tuint16_t(166), Tuint16_t(971), Tuint16_t(163), Tuint16_t(166), Tuint16_t(972), Tuint16_t(973), Tuint16_t(973), Tuint16_t(967), Tuint16_t(974), Tuint16_t(975), Tuint16_t(974), Tuint16_t(975), Tuint16_t(974), Tuint16_t(975), Tuint16_t(976),
 68735  	Tuint16_t(963), Tuint16_t(977), Tuint16_t(713), Tuint16_t(978), Tuint16_t(979), Tuint16_t(979), Tuint16_t(715), Tuint16_t(163), Tuint16_t(977), Tuint16_t(431), Tuint16_t(976), Tuint16_t(963), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68736  	Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(302), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286), Tuint16_t(955), Tuint16_t(286),
 68737  
 68738  	// block 139
 68739  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68740  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68741  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68742  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68743  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68744  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68745  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286),
 68746  	Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(286), Tuint16_t(302), Tuint16_t(302), Tuint16_t(51),
 68747  
 68748  	// block 140
 68749  	Tuint16_t(163), Tuint16_t(973), Tuint16_t(980), Tuint16_t(976), Tuint16_t(431), Tuint16_t(976), Tuint16_t(963), Tuint16_t(981), Tuint16_t(974), Tuint16_t(975), Tuint16_t(963), Tuint16_t(713), Tuint16_t(970), Tuint16_t(982), Tuint16_t(971), Tuint16_t(983),
 68750  	Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(984), Tuint16_t(972), Tuint16_t(166), Tuint16_t(979), Tuint16_t(715), Tuint16_t(979), Tuint16_t(973),
 68751  	Tuint16_t(963), Tuint16_t(985), Tuint16_t(985), Tuint16_t(985), Tuint16_t(985), Tuint16_t(985), Tuint16_t(985), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59),
 68752  	Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(59), Tuint16_t(974), Tuint16_t(977), Tuint16_t(975), Tuint16_t(986), Tuint16_t(700),
 68753  	Tuint16_t(46), Tuint16_t(987), Tuint16_t(987), Tuint16_t(987), Tuint16_t(987), Tuint16_t(987), Tuint16_t(987), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62),
 68754  	Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(62), Tuint16_t(974), Tuint16_t(715), Tuint16_t(975), Tuint16_t(715), Tuint16_t(974),
 68755  	Tuint16_t(975), Tuint16_t(988), Tuint16_t(989), Tuint16_t(990), Tuint16_t(991), Tuint16_t(825), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68756  	Tuint16_t(826), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68757  
 68758  	// block 141
 68759  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824),
 68760  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(992), Tuint16_t(992),
 68761  	Tuint16_t(830), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829),
 68762  	Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163),
 68763  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163), Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829),
 68764  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163), Tuint16_t(163), Tuint16_t(829), Tuint16_t(829), Tuint16_t(829), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68765  	Tuint16_t(431), Tuint16_t(431), Tuint16_t(715), Tuint16_t(46), Tuint16_t(723), Tuint16_t(431), Tuint16_t(431), Tuint16_t(163), Tuint16_t(723), Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(715), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163),
 68766  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(993), Tuint16_t(993), Tuint16_t(993), Tuint16_t(723), Tuint16_t(723), Tuint16_t(958), Tuint16_t(958),
 68767  
 68768  	// block 142
 68769  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68770  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68771  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68772  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(994),
 68773  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(163),
 68774  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(163),
 68775  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68776  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68777  
 68778  	// block 143
 68779  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68780  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68781  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68782  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68783  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68784  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68785  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994),
 68786  	Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(994), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68787  
 68788  	// block 144
 68789  	Tuint16_t(995), Tuint16_t(996), Tuint16_t(997), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998),
 68790  	Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998),
 68791  	Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998),
 68792  	Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(998), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999), Tuint16_t(999),
 68793  	Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000),
 68794  	Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000),
 68795  	Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000),
 68796  	Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1000), Tuint16_t(1001), Tuint16_t(1001), Tuint16_t(1001), Tuint16_t(1001), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002),
 68797  
 68798  	// block 145
 68799  	Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1001), Tuint16_t(1001), Tuint16_t(1002), Tuint16_t(1003), Tuint16_t(1003), Tuint16_t(163),
 68800  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68801  	Tuint16_t(1002), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68802  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68803  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68804  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68805  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 68806  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(158), Tuint16_t(163), Tuint16_t(163),
 68807  
 68808  	// block 146
 68809  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68810  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68811  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68812  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68813  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68814  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68815  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68816  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68817  
 68818  	// block 147
 68819  	Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004),
 68820  	Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(1004), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68821  	Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005),
 68822  	Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005),
 68823  	Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005), Tuint16_t(1005),
 68824  	Tuint16_t(1005), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68825  	Tuint16_t(1006), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007),
 68826  	Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(1007), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68827  
 68828  	// block 148
 68829  	Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008),
 68830  	Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008),
 68831  	Tuint16_t(1009), Tuint16_t(1009), Tuint16_t(1009), Tuint16_t(1009), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1008), Tuint16_t(1008), Tuint16_t(1008),
 68832  	Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010),
 68833  	Tuint16_t(1010), Tuint16_t(1011), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1010), Tuint16_t(1011), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68834  	Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012),
 68835  	Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012),
 68836  	Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1012), Tuint16_t(1013), Tuint16_t(1013), Tuint16_t(1013), Tuint16_t(1013), Tuint16_t(1013), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68837  
 68838  	// block 149
 68839  	Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014),
 68840  	Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(1014), Tuint16_t(163), Tuint16_t(1015),
 68841  	Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016),
 68842  	Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016),
 68843  	Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016), Tuint16_t(1016),
 68844  	Tuint16_t(1017), Tuint16_t(1018), Tuint16_t(1018), Tuint16_t(1018), Tuint16_t(1018), Tuint16_t(1018), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68845  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68846  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68847  
 68848  	// block 150
 68849  	Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019),
 68850  	Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019),
 68851  	Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1019), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020),
 68852  	Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020),
 68853  	Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020), Tuint16_t(1020),
 68854  	Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021),
 68855  	Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021),
 68856  	Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021), Tuint16_t(1021),
 68857  
 68858  	// block 151
 68859  	Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022),
 68860  	Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(1022), Tuint16_t(163), Tuint16_t(163),
 68861  	Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(1023), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68862  	Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024),
 68863  	Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024),
 68864  	Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(1024), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025),
 68865  	Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025),
 68866  	Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(1025), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68867  
 68868  	// block 152
 68869  	Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026),
 68870  	Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026),
 68871  	Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(1026), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68872  	Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027),
 68873  	Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027),
 68874  	Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027),
 68875  	Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(1027), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1028),
 68876  	Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(163), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029),
 68877  
 68878  	// block 153
 68879  	Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(163), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029),
 68880  	Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(163), Tuint16_t(1029), Tuint16_t(1029), Tuint16_t(163), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030),
 68881  	Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(163), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030),
 68882  	Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(163), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(163), Tuint16_t(1030), Tuint16_t(1030), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68883  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68884  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68885  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68886  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68887  
 68888  	// block 154
 68889  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68890  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68891  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68892  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68893  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68894  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68895  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68896  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68897  
 68898  	// block 155
 68899  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68900  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68901  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68902  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68903  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031),
 68904  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68905  	Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(1031), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68906  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68907  
 68908  	// block 156
 68909  	Tuint16_t(147), Tuint16_t(1032), Tuint16_t(1032), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(163), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147),
 68910  	Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147),
 68911  	Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147),
 68912  	Tuint16_t(147), Tuint16_t(163), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(147), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68913  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68914  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68915  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68916  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 68917  
 68918  	// block 157
 68919  	Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033),
 68920  	Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033),
 68921  	Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033),
 68922  	Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(1033), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1033), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1033),
 68923  	Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034),
 68924  	Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(1034), Tuint16_t(262), Tuint16_t(1035), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036), Tuint16_t(1036),
 68925  	Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037),
 68926  	Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1037), Tuint16_t(1038), Tuint16_t(1038), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039), Tuint16_t(1039),
 68927  
 68928  	// block 158
 68929  	Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040),
 68930  	Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(1040), Tuint16_t(262),
 68931  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041), Tuint16_t(1041),
 68932  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68933  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68934  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68935  	Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042),
 68936  	Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(262), Tuint16_t(1042), Tuint16_t(1042), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1043), Tuint16_t(1043), Tuint16_t(1043), Tuint16_t(1043), Tuint16_t(1043),
 68937  
 68938  	// block 159
 68939  	Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044),
 68940  	Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1044), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(1045), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1046),
 68941  	Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047),
 68942  	Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(1047), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1048),
 68943  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68944  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68945  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68946  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68947  
 68948  	// block 160
 68949  	Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049),
 68950  	Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049), Tuint16_t(1049),
 68951  	Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050),
 68952  	Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(1050), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1050), Tuint16_t(1050),
 68953  	Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051),
 68954  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051),
 68955  	Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051),
 68956  	Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051), Tuint16_t(1051),
 68957  
 68958  	// block 161
 68959  	Tuint16_t(1052), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(262), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(1053), Tuint16_t(1053),
 68960  	Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(262), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(262), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052),
 68961  	Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052),
 68962  	Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(1052), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1054), Tuint16_t(1054), Tuint16_t(1054), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1055),
 68963  	Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(1056), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68964  	Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1057), Tuint16_t(1058), Tuint16_t(1058), Tuint16_t(1057), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68965  	Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059),
 68966  	Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1059), Tuint16_t(1060), Tuint16_t(1060), Tuint16_t(1061),
 68967  
 68968  	// block 162
 68969  	Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062),
 68970  	Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1062), Tuint16_t(1063), Tuint16_t(1063), Tuint16_t(1063),
 68971  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68972  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68973  	Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1065), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064),
 68974  	Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064),
 68975  	Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1064), Tuint16_t(1066), Tuint16_t(1066), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1067), Tuint16_t(1067), Tuint16_t(1067), Tuint16_t(1067), Tuint16_t(1067),
 68976  	Tuint16_t(1068), Tuint16_t(1068), Tuint16_t(1069), Tuint16_t(1068), Tuint16_t(1068), Tuint16_t(1068), Tuint16_t(1070), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68977  
 68978  	// block 163
 68979  	Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071),
 68980  	Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071),
 68981  	Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071),
 68982  	Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(1071), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1072), Tuint16_t(1073), Tuint16_t(1073), Tuint16_t(1073), Tuint16_t(1073), Tuint16_t(1073), Tuint16_t(1073),
 68983  	Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074),
 68984  	Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(1074), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075), Tuint16_t(1075),
 68985  	Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076),
 68986  	Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(1076), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077), Tuint16_t(1077),
 68987  
 68988  	// block 164
 68989  	Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(1078),
 68990  	Tuint16_t(1078), Tuint16_t(1078), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1079), Tuint16_t(1079), Tuint16_t(1079), Tuint16_t(1079), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68991  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080), Tuint16_t(1080),
 68992  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68993  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68994  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68995  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68996  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 68997  
 68998  	// block 165
 68999  	Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081),
 69000  	Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081),
 69001  	Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081),
 69002  	Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081),
 69003  	Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(1081), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69004  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69005  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69006  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69007  
 69008  	// block 166
 69009  	Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082),
 69010  	Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082),
 69011  	Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082),
 69012  	Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(1082), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69013  	Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083),
 69014  	Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083),
 69015  	Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083),
 69016  	Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(1083), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1084), Tuint16_t(1084), Tuint16_t(1084), Tuint16_t(1084), Tuint16_t(1084), Tuint16_t(1084),
 69017  
 69018  	// block 167
 69019  	Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085),
 69020  	Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1085),
 69021  	Tuint16_t(1085), Tuint16_t(1085), Tuint16_t(1086), Tuint16_t(1086), Tuint16_t(1087), Tuint16_t(1087), Tuint16_t(1087), Tuint16_t(1087), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69022  	Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(1088), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69023  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69024  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69025  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69026  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69027  
 69028  	// block 168
 69029  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69030  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69031  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69032  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69033  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69034  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69035  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69036  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69037  
 69038  	// block 169
 69039  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69040  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69041  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69042  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69043  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69044  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69045  	Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089),
 69046  	Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(1089), Tuint16_t(262),
 69047  
 69048  	// block 170
 69049  	Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090),
 69050  	Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090),
 69051  	Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(262), Tuint16_t(1091), Tuint16_t(1091), Tuint16_t(1092), Tuint16_t(262), Tuint16_t(262),
 69052  	Tuint16_t(1090), Tuint16_t(1090), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69053  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69054  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69055  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69056  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69057  
 69058  	// block 171
 69059  	Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093),
 69060  	Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1093), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094),
 69061  	Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1094), Tuint16_t(1093), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69062  	Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095),
 69063  	Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1095), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096), Tuint16_t(1096),
 69064  	Tuint16_t(1096), Tuint16_t(1097), Tuint16_t(1097), Tuint16_t(1097), Tuint16_t(1097), Tuint16_t(1098), Tuint16_t(1098), Tuint16_t(1098), Tuint16_t(1098), Tuint16_t(1098), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69065  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69066  	Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1099),
 69067  
 69068  	// block 172
 69069  	Tuint16_t(1099), Tuint16_t(1099), Tuint16_t(1100), Tuint16_t(1100), Tuint16_t(1100), Tuint16_t(1100), Tuint16_t(1101), Tuint16_t(1101), Tuint16_t(1101), Tuint16_t(1101), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69070  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69071  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69072  	Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102),
 69073  	Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1102), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(1103), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69074  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69075  	Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104),
 69076  	Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(1104), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69077  
 69078  	// block 173
 69079  	Tuint16_t(1105), Tuint16_t(1106), Tuint16_t(1105), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107),
 69080  	Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107),
 69081  	Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107),
 69082  	Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106),
 69083  	Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1108), Tuint16_t(1109), Tuint16_t(1109), Tuint16_t(1110), Tuint16_t(1110), Tuint16_t(1110), Tuint16_t(1110), Tuint16_t(1110), Tuint16_t(163), Tuint16_t(163),
 69084  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111),
 69085  	Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1111), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112), Tuint16_t(1112),
 69086  	Tuint16_t(1108), Tuint16_t(1107), Tuint16_t(1107), Tuint16_t(1106), Tuint16_t(1106), Tuint16_t(1107), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1113),
 69087  
 69088  	// block 174
 69089  	Tuint16_t(1114), Tuint16_t(1114), Tuint16_t(1115), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116),
 69090  	Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116),
 69091  	Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116), Tuint16_t(1116),
 69092  	Tuint16_t(1115), Tuint16_t(1115), Tuint16_t(1115), Tuint16_t(1117), Tuint16_t(1117), Tuint16_t(1117), Tuint16_t(1117), Tuint16_t(1115), Tuint16_t(1115), Tuint16_t(1118), Tuint16_t(1119), Tuint16_t(1120), Tuint16_t(1120), Tuint16_t(1121), Tuint16_t(1122), Tuint16_t(1122),
 69093  	Tuint16_t(1122), Tuint16_t(1122), Tuint16_t(1117), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1121), Tuint16_t(163), Tuint16_t(163),
 69094  	Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123),
 69095  	Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(1123), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69096  	Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(1124), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69097  
 69098  	// block 175
 69099  	Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126),
 69100  	Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126),
 69101  	Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1126), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1127), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125),
 69102  	Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1125), Tuint16_t(1128), Tuint16_t(1128), Tuint16_t(163), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129), Tuint16_t(1129),
 69103  	Tuint16_t(1130), Tuint16_t(1131), Tuint16_t(1131), Tuint16_t(1131), Tuint16_t(1126), Tuint16_t(1127), Tuint16_t(1127), Tuint16_t(1126), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69104  	Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132),
 69105  	Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132),
 69106  	Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1132), Tuint16_t(1133), Tuint16_t(1134), Tuint16_t(1134), Tuint16_t(1132), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69107  
 69108  	// block 176
 69109  	Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1136), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137),
 69110  	Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137),
 69111  	Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137),
 69112  	Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1137), Tuint16_t(1136), Tuint16_t(1136), Tuint16_t(1136), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1135), Tuint16_t(1136),
 69113  	Tuint16_t(1138), Tuint16_t(1137), Tuint16_t(1139), Tuint16_t(1139), Tuint16_t(1137), Tuint16_t(1140), Tuint16_t(1140), Tuint16_t(1141), Tuint16_t(1141), Tuint16_t(1142), Tuint16_t(1143), Tuint16_t(1143), Tuint16_t(1143), Tuint16_t(1140), Tuint16_t(1136), Tuint16_t(1135),
 69114  	Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1144), Tuint16_t(1137), Tuint16_t(1141), Tuint16_t(1137), Tuint16_t(1141), Tuint16_t(1140), Tuint16_t(1140),
 69115  	Tuint16_t(163), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145),
 69116  	Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(1145), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69117  
 69118  	// block 177
 69119  	Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146),
 69120  	Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(163), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146),
 69121  	Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1146), Tuint16_t(1147), Tuint16_t(1147), Tuint16_t(1147), Tuint16_t(1148),
 69122  	Tuint16_t(1148), Tuint16_t(1148), Tuint16_t(1147), Tuint16_t(1147), Tuint16_t(1148), Tuint16_t(1149), Tuint16_t(1150), Tuint16_t(1148), Tuint16_t(1151), Tuint16_t(1151), Tuint16_t(1152), Tuint16_t(1151), Tuint16_t(1151), Tuint16_t(1153), Tuint16_t(1148), Tuint16_t(163),
 69123  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69124  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69125  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69126  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69127  
 69128  	// block 178
 69129  	Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(163), Tuint16_t(1154), Tuint16_t(163), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(163), Tuint16_t(1154),
 69130  	Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(163), Tuint16_t(1154),
 69131  	Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1154), Tuint16_t(1155), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69132  	Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156),
 69133  	Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156),
 69134  	Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1156), Tuint16_t(1157),
 69135  	Tuint16_t(1158), Tuint16_t(1158), Tuint16_t(1158), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1157), Tuint16_t(1159), Tuint16_t(1160), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69136  	Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(1161), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69137  
 69138  	// block 179
 69139  	Tuint16_t(1162), Tuint16_t(1163), Tuint16_t(1164), Tuint16_t(1165), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1166),
 69140  	Tuint16_t(1166), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166),
 69141  	Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166),
 69142  	Tuint16_t(1166), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(163), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(163), Tuint16_t(1167), Tuint16_t(1168), Tuint16_t(1166), Tuint16_t(1169), Tuint16_t(1164),
 69143  	Tuint16_t(1162), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(1170), Tuint16_t(163), Tuint16_t(163),
 69144  	Tuint16_t(1166), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1169), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1171), Tuint16_t(1166), Tuint16_t(1166),
 69145  	Tuint16_t(1166), Tuint16_t(1166), Tuint16_t(1164), Tuint16_t(1164), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69146  	Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(1172), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69147  
 69148  	// block 180
 69149  	Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173),
 69150  	Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173),
 69151  	Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173),
 69152  	Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1174), Tuint16_t(1174), Tuint16_t(1174), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1175),
 69153  	Tuint16_t(1174), Tuint16_t(1174), Tuint16_t(1176), Tuint16_t(1175), Tuint16_t(1175), Tuint16_t(1174), Tuint16_t(1177), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(1178), Tuint16_t(1178), Tuint16_t(1179), Tuint16_t(1180), Tuint16_t(1180),
 69154  	Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1181), Tuint16_t(1179), Tuint16_t(1179), Tuint16_t(163), Tuint16_t(1180), Tuint16_t(1182), Tuint16_t(1173),
 69155  	Tuint16_t(1173), Tuint16_t(1173), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69156  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69157  
 69158  	// block 181
 69159  	Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183),
 69160  	Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183),
 69161  	Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1183),
 69162  	Tuint16_t(1184), Tuint16_t(1185), Tuint16_t(1185), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1186), Tuint16_t(1185), Tuint16_t(1186), Tuint16_t(1185), Tuint16_t(1185), Tuint16_t(1184), Tuint16_t(1185), Tuint16_t(1186),
 69163  	Tuint16_t(1186), Tuint16_t(1185), Tuint16_t(1187), Tuint16_t(1188), Tuint16_t(1183), Tuint16_t(1183), Tuint16_t(1189), Tuint16_t(1183), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69164  	Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(1190), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69165  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69166  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69167  
 69168  	// block 182
 69169  	Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191),
 69170  	Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191),
 69171  	Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1192),
 69172  	Tuint16_t(1193), Tuint16_t(1193), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1193), Tuint16_t(1193), Tuint16_t(1193), Tuint16_t(1193), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(1193), Tuint16_t(1195),
 69173  	Tuint16_t(1196), Tuint16_t(1197), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1199), Tuint16_t(1199), Tuint16_t(1200), Tuint16_t(1200), Tuint16_t(1200), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198),
 69174  	Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1198), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1191), Tuint16_t(1194), Tuint16_t(1194), Tuint16_t(163), Tuint16_t(163),
 69175  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69176  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69177  
 69178  	// block 183
 69179  	Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201),
 69180  	Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201),
 69181  	Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201), Tuint16_t(1201),
 69182  	Tuint16_t(1202), Tuint16_t(1202), Tuint16_t(1202), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1203), Tuint16_t(1202), Tuint16_t(1202), Tuint16_t(1203), Tuint16_t(1202), Tuint16_t(1204),
 69183  	Tuint16_t(1203), Tuint16_t(1205), Tuint16_t(1205), Tuint16_t(1206), Tuint16_t(1201), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69184  	Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(1207), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69185  	Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(530), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69186  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69187  
 69188  	// block 184
 69189  	Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208),
 69190  	Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208),
 69191  	Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1208), Tuint16_t(1209), Tuint16_t(1210), Tuint16_t(1209), Tuint16_t(1210), Tuint16_t(1210),
 69192  	Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1209), Tuint16_t(1211), Tuint16_t(1212), Tuint16_t(1208), Tuint16_t(1213), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69193  	Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(1214), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69194  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69195  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69196  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69197  
 69198  	// block 185
 69199  	Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215),
 69200  	Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216),
 69201  	Tuint16_t(1217), Tuint16_t(1217), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1218), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1216), Tuint16_t(1219), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69202  	Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1220), Tuint16_t(1221), Tuint16_t(1221), Tuint16_t(1222), Tuint16_t(1222), Tuint16_t(1222), Tuint16_t(1223),
 69203  	Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(1215), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69204  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69205  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69206  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69207  
 69208  	// block 186
 69209  	Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224),
 69210  	Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224),
 69211  	Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1224), Tuint16_t(1225), Tuint16_t(1225), Tuint16_t(1225), Tuint16_t(1226),
 69212  	Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1226), Tuint16_t(1225), Tuint16_t(1227), Tuint16_t(1228), Tuint16_t(1229), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69213  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69214  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69215  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69216  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69217  
 69218  	// block 187
 69219  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69220  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69221  	Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230),
 69222  	Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230), Tuint16_t(1230),
 69223  	Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231),
 69224  	Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231), Tuint16_t(1231),
 69225  	Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1232), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233),
 69226  	Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(1233), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1234),
 69227  
 69228  	// block 188
 69229  	Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1235), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235),
 69230  	Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(163), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(163), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235),
 69231  	Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235), Tuint16_t(1235),
 69232  	Tuint16_t(1236), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(163), Tuint16_t(1237), Tuint16_t(1237), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1238), Tuint16_t(1238), Tuint16_t(1239), Tuint16_t(1240), Tuint16_t(1241),
 69233  	Tuint16_t(1237), Tuint16_t(1241), Tuint16_t(1237), Tuint16_t(1242), Tuint16_t(1243), Tuint16_t(1244), Tuint16_t(1243), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69234  	Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(1245), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69235  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69236  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69237  
 69238  	// block 189
 69239  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69240  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69241  	Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246),
 69242  	Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246),
 69243  	Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246), Tuint16_t(1246),
 69244  	Tuint16_t(1246), Tuint16_t(1247), Tuint16_t(1247), Tuint16_t(1247), Tuint16_t(1248), Tuint16_t(1248), Tuint16_t(1248), Tuint16_t(1248), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1248), Tuint16_t(1248), Tuint16_t(1247), Tuint16_t(1247), Tuint16_t(1247), Tuint16_t(1247),
 69245  	Tuint16_t(1249), Tuint16_t(1246), Tuint16_t(1250), Tuint16_t(1246), Tuint16_t(1247), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69246  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69247  
 69248  	// block 190
 69249  	Tuint16_t(1251), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1253), Tuint16_t(1253), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251),
 69250  	Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251),
 69251  	Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251),
 69252  	Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1251), Tuint16_t(1254), Tuint16_t(1255), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1256), Tuint16_t(1257), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1252), Tuint16_t(1258),
 69253  	Tuint16_t(1258), Tuint16_t(1258), Tuint16_t(1259), Tuint16_t(1259), Tuint16_t(1258), Tuint16_t(1258), Tuint16_t(1258), Tuint16_t(1255), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69254  	Tuint16_t(1260), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1262), Tuint16_t(1262), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260),
 69255  	Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260),
 69256  	Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260),
 69257  
 69258  	// block 191
 69259  	Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1260), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1263), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261),
 69260  	Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1261), Tuint16_t(1262), Tuint16_t(1264), Tuint16_t(1265), Tuint16_t(1266), Tuint16_t(1267), Tuint16_t(1267), Tuint16_t(1260), Tuint16_t(1266), Tuint16_t(1266),
 69261  	Tuint16_t(1266), Tuint16_t(1268), Tuint16_t(1268), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69262  	Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495), Tuint16_t(495),
 69263  	Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269),
 69264  	Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269),
 69265  	Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269),
 69266  	Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(1269), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69267  
 69268  	// block 192
 69269  	Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(163), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270),
 69270  	Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270),
 69271  	Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1270), Tuint16_t(1271),
 69272  	Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(163), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1272), Tuint16_t(1271), Tuint16_t(1273),
 69273  	Tuint16_t(1270), Tuint16_t(1274), Tuint16_t(1274), Tuint16_t(1275), Tuint16_t(1276), Tuint16_t(1276), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69274  	Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1277), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278),
 69275  	Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(1278), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69276  	Tuint16_t(1279), Tuint16_t(1280), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281),
 69277  
 69278  	// block 193
 69279  	Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281), Tuint16_t(1281),
 69280  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282),
 69281  	Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(163), Tuint16_t(1283), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1282),
 69282  	Tuint16_t(1282), Tuint16_t(1283), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(1283), Tuint16_t(1282), Tuint16_t(1282), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69283  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69284  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69285  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69286  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69287  
 69288  	// block 194
 69289  	Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(163), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(163), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284),
 69290  	Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284),
 69291  	Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284), Tuint16_t(1284),
 69292  	Tuint16_t(1284), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1285), Tuint16_t(163), Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(163), Tuint16_t(1285),
 69293  	Tuint16_t(1285), Tuint16_t(1285), Tuint16_t(1286), Tuint16_t(1285), Tuint16_t(1287), Tuint16_t(1287), Tuint16_t(1288), Tuint16_t(1285), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69294  	Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(1289), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69295  	Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(163), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(163), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290),
 69296  	Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290),
 69297  
 69298  	// block 195
 69299  	Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1290), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(163),
 69300  	Tuint16_t(1292), Tuint16_t(1292), Tuint16_t(163), Tuint16_t(1291), Tuint16_t(1291), Tuint16_t(1292), Tuint16_t(1291), Tuint16_t(1293), Tuint16_t(1290), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69301  	Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(1294), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69302  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69303  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69304  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69305  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69306  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69307  
 69308  	// block 196
 69309  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69310  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69311  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69312  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69313  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69314  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69315  	Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295),
 69316  	Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1295), Tuint16_t(1296), Tuint16_t(1296), Tuint16_t(1297), Tuint16_t(1297), Tuint16_t(1298), Tuint16_t(1298), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69317  
 69318  	// block 197
 69319  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69320  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69321  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69322  	Tuint16_t(842), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69323  	Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299), Tuint16_t(1299),
 69324  	Tuint16_t(388), Tuint16_t(388), Tuint16_t(1299), Tuint16_t(388), Tuint16_t(1299), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(391), Tuint16_t(391), Tuint16_t(391),
 69325  	Tuint16_t(391), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390), Tuint16_t(390),
 69326  	Tuint16_t(390), Tuint16_t(390), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1300),
 69327  
 69328  	// block 198
 69329  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69330  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69331  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69332  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69333  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69334  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69335  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69336  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69337  
 69338  	// block 199
 69339  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69340  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69341  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69342  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69343  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69344  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69345  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69346  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69347  
 69348  	// block 200
 69349  	Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302),
 69350  	Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302),
 69351  	Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302),
 69352  	Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302),
 69353  	Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302),
 69354  	Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302),
 69355  	Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(1302), Tuint16_t(163),
 69356  	Tuint16_t(1303), Tuint16_t(1303), Tuint16_t(1303), Tuint16_t(1303), Tuint16_t(1303), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69357  
 69358  	// block 201
 69359  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69360  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69361  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69362  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301),
 69363  	Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(1301), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69364  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69365  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69366  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69367  
 69368  	// block 202
 69369  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69370  	Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304),
 69371  	Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304),
 69372  	Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304),
 69373  	Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304),
 69374  	Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304),
 69375  	Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304), Tuint16_t(1304),
 69376  	Tuint16_t(1304), Tuint16_t(1305), Tuint16_t(1305), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69377  
 69378  	// block 203
 69379  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69380  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69381  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69382  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69383  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69384  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69385  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69386  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69387  
 69388  	// block 204
 69389  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69390  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306),
 69391  	Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(1306), Tuint16_t(163),
 69392  	Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(1307), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69393  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69394  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69395  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69396  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69397  
 69398  	// block 205
 69399  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69400  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69401  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69402  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69403  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69404  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69405  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69406  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69407  
 69408  	// block 206
 69409  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69410  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69411  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69412  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308),
 69413  	Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(1308), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69414  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69415  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69416  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69417  
 69418  	// block 207
 69419  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69420  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69421  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69422  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69423  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69424  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69425  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69426  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69427  
 69428  	// block 208
 69429  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69430  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69431  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858),
 69432  	Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(858), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69433  	Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309),
 69434  	Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(1309), Tuint16_t(163),
 69435  	Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(1310), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1311), Tuint16_t(1311),
 69436  	Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312),
 69437  
 69438  	// block 209
 69439  	Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312),
 69440  	Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312),
 69441  	Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312),
 69442  	Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(1312), Tuint16_t(163),
 69443  	Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(1313), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69444  	Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314),
 69445  	Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(1314), Tuint16_t(163), Tuint16_t(163),
 69446  	Tuint16_t(1315), Tuint16_t(1315), Tuint16_t(1315), Tuint16_t(1315), Tuint16_t(1315), Tuint16_t(1316), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69447  
 69448  	// block 210
 69449  	Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317),
 69450  	Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317),
 69451  	Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317),
 69452  	Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1318), Tuint16_t(1319), Tuint16_t(1319), Tuint16_t(1320), Tuint16_t(1321), Tuint16_t(1321), Tuint16_t(1322), Tuint16_t(1322), Tuint16_t(1322), Tuint16_t(1322),
 69453  	Tuint16_t(1323), Tuint16_t(1323), Tuint16_t(1324), Tuint16_t(1324), Tuint16_t(1319), Tuint16_t(1322), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69454  	Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(1325), Tuint16_t(163), Tuint16_t(1326), Tuint16_t(1326), Tuint16_t(1326), Tuint16_t(1326), Tuint16_t(1326),
 69455  	Tuint16_t(1326), Tuint16_t(1326), Tuint16_t(163), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317),
 69456  	Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317),
 69457  
 69458  	// block 211
 69459  	Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317), Tuint16_t(1317),
 69460  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69461  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69462  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69463  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69464  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69465  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69466  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69467  
 69468  	// block 212
 69469  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69470  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69471  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69472  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69473  	Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327),
 69474  	Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327), Tuint16_t(1327),
 69475  	Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328),
 69476  	Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328), Tuint16_t(1328),
 69477  
 69478  	// block 213
 69479  	Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329),
 69480  	Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1329), Tuint16_t(1330), Tuint16_t(1331), Tuint16_t(1332), Tuint16_t(1332), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69481  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69482  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69483  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69484  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69485  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69486  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69487  
 69488  	// block 214
 69489  	Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333),
 69490  	Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333),
 69491  	Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333),
 69492  	Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333),
 69493  	Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(1333), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1334),
 69494  	Tuint16_t(1333), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335),
 69495  	Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335),
 69496  	Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335),
 69497  
 69498  	// block 215
 69499  	Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(1335), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1336),
 69500  	Tuint16_t(1336), Tuint16_t(1336), Tuint16_t(1336), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337), Tuint16_t(1337),
 69501  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69502  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69503  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69504  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69505  	Tuint16_t(1338), Tuint16_t(1339), Tuint16_t(1340), Tuint16_t(799), Tuint16_t(1341), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69506  	Tuint16_t(1342), Tuint16_t(1342), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69507  
 69508  	// block 216
 69509  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69510  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69511  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69512  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69513  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69514  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69515  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69516  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69517  
 69518  	// block 217
 69519  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69520  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69521  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69522  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69523  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69524  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69525  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343),
 69526  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69527  
 69528  	// block 218
 69529  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69530  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69531  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69532  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69533  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69534  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69535  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69536  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69537  
 69538  	// block 219
 69539  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69540  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69541  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69542  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69543  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344),
 69544  	Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(1344), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69545  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69546  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69547  
 69548  	// block 220
 69549  	Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(1343), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69550  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69551  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69552  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69553  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69554  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69555  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69556  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69557  
 69558  	// block 221
 69559  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69560  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69561  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69562  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69563  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69564  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69565  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69566  	Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(163), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(163), Tuint16_t(1345), Tuint16_t(1345), Tuint16_t(163),
 69567  
 69568  	// block 222
 69569  	Tuint16_t(824), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69570  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69571  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69572  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69573  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69574  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69575  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69576  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69577  
 69578  	// block 223
 69579  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69580  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69581  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69582  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69583  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69584  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69585  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69586  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69587  
 69588  	// block 224
 69589  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69590  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(819),
 69591  	Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69592  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69593  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69594  	Tuint16_t(819), Tuint16_t(819), Tuint16_t(819), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69595  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(824), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69596  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69597  
 69598  	// block 225
 69599  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69600  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69601  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69602  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69603  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69604  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69605  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69606  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69607  
 69608  	// block 226
 69609  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69610  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69611  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69612  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69613  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69614  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69615  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346),
 69616  	Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(1346), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69617  
 69618  	// block 227
 69619  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347),
 69620  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347),
 69621  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347),
 69622  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347),
 69623  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347),
 69624  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347),
 69625  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69626  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69627  
 69628  	// block 228
 69629  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69630  	Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(1347), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1348), Tuint16_t(1349), Tuint16_t(1350), Tuint16_t(1351),
 69631  	Tuint16_t(1352), Tuint16_t(1352), Tuint16_t(1352), Tuint16_t(1352), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69632  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69633  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69634  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69635  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69636  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69637  
 69638  	// block 229
 69639  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 69640  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 69641  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(163), Tuint16_t(163),
 69642  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 69643  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69644  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69645  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69646  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69647  
 69648  	// block 230
 69649  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69650  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69651  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69652  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69653  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69654  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69655  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69656  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69657  
 69658  	// block 231
 69659  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69660  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69661  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69662  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69663  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69664  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69665  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69666  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69667  
 69668  	// block 232
 69669  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69670  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69671  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69672  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69673  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69674  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69675  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69676  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69677  
 69678  	// block 233
 69679  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69680  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69681  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(163), Tuint16_t(163), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69682  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69683  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69684  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69685  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1353), Tuint16_t(1354), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1355), Tuint16_t(1356), Tuint16_t(1356),
 69686  	Tuint16_t(1356), Tuint16_t(1356), Tuint16_t(1356), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(51), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154),
 69687  
 69688  	// block 234
 69689  	Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(460), Tuint16_t(460), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69690  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69691  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(154), Tuint16_t(460), Tuint16_t(460),
 69692  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69693  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69694  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69695  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69696  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69697  
 69698  	// block 235
 69699  	Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002),
 69700  	Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002),
 69701  	Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002),
 69702  	Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1002),
 69703  	Tuint16_t(1002), Tuint16_t(1002), Tuint16_t(1357), Tuint16_t(1357), Tuint16_t(1357), Tuint16_t(1002), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69704  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69705  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69706  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69707  
 69708  	// block 236
 69709  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69710  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69711  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69712  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69713  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69714  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69715  	Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835),
 69716  	Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69717  
 69718  	// block 237
 69719  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69720  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69721  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69722  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69723  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 69724  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69725  	Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832), Tuint16_t(832),
 69726  	Tuint16_t(832), Tuint16_t(832), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(835), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69727  
 69728  	// block 238
 69729  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69730  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69731  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69732  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69733  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725),
 69734  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(163), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69735  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69736  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69737  
 69738  	// block 239
 69739  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69740  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724),
 69741  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724),
 69742  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(163), Tuint16_t(725), Tuint16_t(163), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736),
 69743  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(163), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69744  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69745  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69746  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69747  
 69748  	// block 240
 69749  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69750  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(725), Tuint16_t(725),
 69751  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69752  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163),
 69753  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(163), Tuint16_t(724), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69754  	Tuint16_t(724), Tuint16_t(163), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69755  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69756  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69757  
 69758  	// block 241
 69759  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736),
 69760  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69761  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69762  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69763  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69764  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69765  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725),
 69766  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69767  
 69768  	// block 242
 69769  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69770  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69771  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69772  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69773  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69774  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736),
 69775  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69776  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69777  
 69778  	// block 243
 69779  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69780  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(736), Tuint16_t(736), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69781  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(163), Tuint16_t(163), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69782  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69783  	Tuint16_t(724), Tuint16_t(1358), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69784  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69785  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69786  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(1358), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69787  
 69788  	// block 244
 69789  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69790  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69791  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69792  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(1358), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69793  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715),
 69794  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69795  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(1358),
 69796  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69797  
 69798  	// block 245
 69799  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69800  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724),
 69801  	Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(724), Tuint16_t(1358), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69802  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725),
 69803  	Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(715), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(725), Tuint16_t(724), Tuint16_t(725), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1359), Tuint16_t(1359),
 69804  	Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359),
 69805  	Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359),
 69806  	Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359), Tuint16_t(1359),
 69807  
 69808  	// block 246
 69809  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69810  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69811  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69812  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69813  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69814  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69815  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69816  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69817  
 69818  	// block 247
 69819  	Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69820  	Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69821  	Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69822  	Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69823  	Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69824  	Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69825  	Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69826  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1361), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360),
 69827  
 69828  	// block 248
 69829  	Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1361), Tuint16_t(1360), Tuint16_t(1360), Tuint16_t(1362), Tuint16_t(1363), Tuint16_t(1362), Tuint16_t(1362), Tuint16_t(1364), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69830  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69831  	Tuint16_t(163), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361), Tuint16_t(1361),
 69832  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69833  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69834  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69835  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69836  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69837  
 69838  	// block 249
 69839  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(92), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70),
 69840  	Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(643), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(70), Tuint16_t(163),
 69841  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69842  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69843  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69844  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69845  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69846  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69847  
 69848  	// block 250
 69849  	Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365),
 69850  	Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365),
 69851  	Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(1365), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69852  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69853  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69854  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69855  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69856  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69857  
 69858  	// block 251
 69859  	Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366),
 69860  	Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366),
 69861  	Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(1366), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69862  	Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1367), Tuint16_t(1368), Tuint16_t(1368), Tuint16_t(1368), Tuint16_t(1368), Tuint16_t(1368), Tuint16_t(1369), Tuint16_t(1369), Tuint16_t(163), Tuint16_t(163),
 69863  	Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(1370), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1366), Tuint16_t(1371),
 69864  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69865  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69866  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69867  
 69868  	// block 252
 69869  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69870  	Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372),
 69871  	Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1372), Tuint16_t(1373), Tuint16_t(163),
 69872  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69873  	Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374),
 69874  	Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374),
 69875  	Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1374), Tuint16_t(1375), Tuint16_t(1375), Tuint16_t(1375), Tuint16_t(1375),
 69876  	Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(1376), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(1377),
 69877  
 69878  	// block 253
 69879  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69880  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69881  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69882  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69883  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69884  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 69885  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 69886  	Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(483), Tuint16_t(163),
 69887  
 69888  	// block 254
 69889  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69890  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69891  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69892  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69893  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69894  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69895  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69896  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69897  
 69898  	// block 255
 69899  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69900  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69901  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69902  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378),
 69903  	Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(1378), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379), Tuint16_t(1379),
 69904  	Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(1380), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69905  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69906  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69907  
 69908  	// block 256
 69909  	Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381),
 69910  	Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1381),
 69911  	Tuint16_t(1381), Tuint16_t(1381), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382),
 69912  	Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382),
 69913  	Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1382), Tuint16_t(1383), Tuint16_t(1383), Tuint16_t(1383), Tuint16_t(1384), Tuint16_t(1385), Tuint16_t(1385), Tuint16_t(1385), Tuint16_t(1386), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69914  	Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(1387), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(1388), Tuint16_t(1388),
 69915  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69916  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69917  
 69918  	// block 257
 69919  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69920  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69921  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69922  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69923  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69924  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69925  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69926  	Tuint16_t(302), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389),
 69927  
 69928  	// block 258
 69929  	Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389),
 69930  	Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389),
 69931  	Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1390), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389),
 69932  	Tuint16_t(1391), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69933  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69934  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69935  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69936  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69937  
 69938  	// block 259
 69939  	Tuint16_t(302), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389),
 69940  	Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389),
 69941  	Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1390), Tuint16_t(1389),
 69942  	Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(1389), Tuint16_t(302), Tuint16_t(302),
 69943  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69944  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69945  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69946  	Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262), Tuint16_t(262),
 69947  
 69948  	// block 260
 69949  	Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392),
 69950  	Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392),
 69951  	Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392),
 69952  	Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69953  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392),
 69954  	Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392),
 69955  	Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392),
 69956  	Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(302),
 69957  
 69958  	// block 261
 69959  	Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392),
 69960  	Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69961  	Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392),
 69962  	Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(1392), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69963  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69964  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69965  	Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69966  	Tuint16_t(274), Tuint16_t(274), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302), Tuint16_t(302),
 69967  
 69968  	// block 262
 69969  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69970  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69971  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 69972  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69973  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69974  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69975  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69976  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69977  
 69978  	// block 263
 69979  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69980  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 69981  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395),
 69982  	Tuint16_t(1395), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69983  	Tuint16_t(1395), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1394),
 69984  	Tuint16_t(1395), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69985  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69986  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 69987  
 69988  	// block 264
 69989  	Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(54), Tuint16_t(58), Tuint16_t(58), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69990  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69991  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1393),
 69992  	Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396),
 69993  	Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 69994  	Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396),
 69995  	Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 69996  	Tuint16_t(1397), Tuint16_t(1397), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1397), Tuint16_t(1397),
 69997  
 69998  	// block 265
 69999  	Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(1396), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1398), Tuint16_t(460),
 70000  	Tuint16_t(460), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 70001  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395),
 70002  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70003  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70004  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70005  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399),
 70006  	Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399), Tuint16_t(1399),
 70007  
 70008  	// block 266
 70009  	Tuint16_t(1400), Tuint16_t(1398), Tuint16_t(1401), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70010  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1398), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460),
 70011  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1398),
 70012  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1401), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(1398), Tuint16_t(460), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70013  	Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(460), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70014  	Tuint16_t(1402), Tuint16_t(1402), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70015  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70016  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70017  
 70018  	// block 267
 70019  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70020  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70021  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70022  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70023  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70024  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70025  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70026  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70027  
 70028  	// block 268
 70029  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70030  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70031  	Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70032  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70033  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70034  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70035  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70036  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394),
 70037  
 70038  	// block 269
 70039  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70040  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727),
 70041  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70042  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70043  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1404), Tuint16_t(1404), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1394),
 70044  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727),
 70045  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70046  	Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1405), Tuint16_t(1405), Tuint16_t(1405), Tuint16_t(1405), Tuint16_t(1405),
 70047  
 70048  	// block 270
 70049  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70050  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70051  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70052  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727),
 70053  	Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403),
 70054  	Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70055  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403),
 70056  	Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70057  
 70058  	// block 271
 70059  	Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403),
 70060  	Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70061  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70062  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70063  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70064  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70065  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70066  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1394),
 70067  
 70068  	// block 272
 70069  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70070  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70071  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70072  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(723), Tuint16_t(723),
 70073  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393),
 70074  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70075  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727),
 70076  	Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1404), Tuint16_t(1404), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1403), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70077  
 70078  	// block 273
 70079  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393),
 70080  	Tuint16_t(1404), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70081  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1394), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70082  	Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70083  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70084  	Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393),
 70085  	Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727),
 70086  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70087  
 70088  	// block 274
 70089  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70090  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70091  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70092  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70093  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403),
 70094  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70095  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70096  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70097  
 70098  	// block 275
 70099  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70100  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70101  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70102  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70103  	Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1403), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727),
 70104  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70105  	Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70106  	Tuint16_t(727), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(727), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70107  
 70108  	// block 276
 70109  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70110  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70111  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70112  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70113  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70114  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70115  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70116  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70117  
 70118  	// block 277
 70119  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70120  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70121  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70122  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70123  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70124  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70125  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70126  	Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70127  
 70128  	// block 278
 70129  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70130  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70131  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70132  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70133  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70134  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70135  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70136  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70137  
 70138  	// block 279
 70139  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70140  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70141  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1395), Tuint16_t(1395),
 70142  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70143  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70144  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70145  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70146  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70147  
 70148  	// block 280
 70149  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403),
 70150  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403),
 70151  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70152  	Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(723), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394),
 70153  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(723), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70154  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70155  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70156  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70157  
 70158  	// block 281
 70159  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70160  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70161  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70162  	Tuint16_t(1406), Tuint16_t(1406), Tuint16_t(1406), Tuint16_t(1406), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70163  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403),
 70164  	Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1394), Tuint16_t(1394),
 70165  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70166  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70167  
 70168  	// block 282
 70169  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70170  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70171  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70172  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70173  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393),
 70174  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70175  	Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1393), Tuint16_t(1395), Tuint16_t(1395),
 70176  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70177  
 70178  	// block 283
 70179  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70180  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394),
 70181  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70182  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70183  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70184  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70185  	Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1394), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70186  	Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1403), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70187  
 70188  	// block 284
 70189  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70190  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70191  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70192  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70193  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70194  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70195  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70196  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70197  
 70198  	// block 285
 70199  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70200  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70201  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70202  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723),
 70203  	Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(723), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70204  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70205  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70206  	Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(1407), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70207  
 70208  	// block 286
 70209  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70210  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70211  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70212  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70213  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70214  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70215  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395),
 70216  	Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(1395), Tuint16_t(958), Tuint16_t(958),
 70217  
 70218  	// block 287
 70219  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70220  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70221  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70222  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70223  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70224  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70225  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70226  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70227  
 70228  	// block 288
 70229  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70230  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70231  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70232  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70233  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70234  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70235  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70236  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70237  
 70238  	// block 289
 70239  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70240  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(163), Tuint16_t(163),
 70241  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70242  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70243  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70244  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70245  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70246  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70247  
 70248  	// block 290
 70249  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70250  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70251  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70252  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70253  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70254  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70255  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70256  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70257  
 70258  	// block 291
 70259  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70260  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70261  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70262  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70263  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70264  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70265  	Tuint16_t(838), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70266  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70267  
 70268  	// block 292
 70269  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953),
 70270  	Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(953), Tuint16_t(163), Tuint16_t(163),
 70271  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70272  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70273  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70274  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70275  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70276  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70277  
 70278  	// block 293
 70279  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70280  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70281  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70282  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70283  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70284  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70285  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70286  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(958), Tuint16_t(958),
 70287  
 70288  	// block 294
 70289  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70290  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70291  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70292  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838),
 70293  	Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(838), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70294  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70295  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70296  	Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163), Tuint16_t(163),
 70297  
 70298  	// block 295
 70299  	Tuint16_t(707), Tuint16_t(712), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70300  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70301  	Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408),
 70302  	Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408),
 70303  	Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408),
 70304  	Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408),
 70305  	Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408),
 70306  	Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408), Tuint16_t(1408),
 70307  
 70308  	// block 296
 70309  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70310  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70311  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70312  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70313  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70314  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70315  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70316  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70317  
 70318  	// block 297
 70319  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70320  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70321  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70322  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70323  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70324  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70325  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70326  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70327  
 70328  	// block 298
 70329  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70330  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70331  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70332  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70333  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70334  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70335  	Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961), Tuint16_t(961),
 70336  	Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707), Tuint16_t(707),
 70337  
 70338  	// block 299
 70339  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 70340  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 70341  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 70342  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 70343  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 70344  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 70345  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952),
 70346  	Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(952), Tuint16_t(958), Tuint16_t(958),
 70347  } /* pcre2_ucd.c:2386:16 */
 70348  
 70349  // End of pcre2_ucd.c
 70350  
 70351  // This function is needed only when memmove() is not available.
 70352  
 70353  // End of pcre2_internal.h
 70354  
 70355  // ************************************************
 70356  //
 70357  //           Validate a UTF string                *
 70358  //
 70359  
 70360  // This function is called (optionally) at the start of compile or match, to
 70361  // check that a supposed UTF string is actually valid. The early check means
 70362  // that subsequent code can assume it is dealing with a valid string. The check
 70363  // can be turned off for maximum performance, but the consequences of supplying an
 70364  // invalid string are then undefined.
 70365  //
 70366  // Arguments:
 70367  //   string       points to the string
 70368  //   length       length of string
 70369  //   errp         pointer to an error position offset variable
 70370  //
 70371  // Returns:       == 0    if the string is a valid UTF string
 70372  //                != 0    otherwise, setting the offset of the bad character
 70373  
 70374  func X_pcre2_valid_utf_8(tls *libc.TLS, string TPCRE2_SPTR8, length Tsize_t, erroroffset uintptr) int32 { /* pcre2_valid_utf.c:94:1: */
 70375  	var p TPCRE2_SPTR8
 70376  	var c Tuint32_t
 70377  
 70378  	// ----------------- Check a UTF-8 string -----------------
 70379  
 70380  	// Originally, this function checked according to RFC 2279, allowing for values
 70381  	// in the range 0 to 0x7fffffff, up to 6 bytes long, but ensuring that they were
 70382  	// in the canonical format. Once somebody had pointed out RFC 3629 to me (it
 70383  	// obsoletes 2279), additional restrictions were applied. The values are now
 70384  	// limited to be between 0 and 0x0010ffff, no more than 4 bytes long, and the
 70385  	// subrange 0xd000 to 0xdfff is excluded. However, the format of 5-byte and 6-byte
 70386  	// characters is still checked. Error returns are as follows:
 70387  	//
 70388  	// PCRE2_ERROR_UTF8_ERR1   Missing 1 byte at the end of the string
 70389  	// PCRE2_ERROR_UTF8_ERR2   Missing 2 bytes at the end of the string
 70390  	// PCRE2_ERROR_UTF8_ERR3   Missing 3 bytes at the end of the string
 70391  	// PCRE2_ERROR_UTF8_ERR4   Missing 4 bytes at the end of the string
 70392  	// PCRE2_ERROR_UTF8_ERR5   Missing 5 bytes at the end of the string
 70393  	// PCRE2_ERROR_UTF8_ERR6   2nd-byte's two top bits are not 0x80
 70394  	// PCRE2_ERROR_UTF8_ERR7   3rd-byte's two top bits are not 0x80
 70395  	// PCRE2_ERROR_UTF8_ERR8   4th-byte's two top bits are not 0x80
 70396  	// PCRE2_ERROR_UTF8_ERR9   5th-byte's two top bits are not 0x80
 70397  	// PCRE2_ERROR_UTF8_ERR10  6th-byte's two top bits are not 0x80
 70398  	// PCRE2_ERROR_UTF8_ERR11  5-byte character is not permitted by RFC 3629
 70399  	// PCRE2_ERROR_UTF8_ERR12  6-byte character is not permitted by RFC 3629
 70400  	// PCRE2_ERROR_UTF8_ERR13  4-byte character with value > 0x10ffff is not permitted
 70401  	// PCRE2_ERROR_UTF8_ERR14  3-byte character with value 0xd800-0xdfff is not permitted
 70402  	// PCRE2_ERROR_UTF8_ERR15  Overlong 2-byte sequence
 70403  	// PCRE2_ERROR_UTF8_ERR16  Overlong 3-byte sequence
 70404  	// PCRE2_ERROR_UTF8_ERR17  Overlong 4-byte sequence
 70405  	// PCRE2_ERROR_UTF8_ERR18  Overlong 5-byte sequence (won't ever occur)
 70406  	// PCRE2_ERROR_UTF8_ERR19  Overlong 6-byte sequence (won't ever occur)
 70407  	// PCRE2_ERROR_UTF8_ERR20  Isolated 0x80 byte (not within UTF-8 character)
 70408  	// PCRE2_ERROR_UTF8_ERR21  Byte with the illegal value 0xfe or 0xff
 70409  
 70410  	for p = string; length > uint64(0); p++ {
 70411  		var ab Tuint32_t
 70412  		var d Tuint32_t
 70413  
 70414  		c = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(p)))
 70415  		length--
 70416  
 70417  		if c < Tuint32_t(128) {
 70418  			continue
 70419  		} // ASCII character
 70420  
 70421  		if c < Tuint32_t(0xc0) {
 70422  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int64(p) - int64(string)) / 1)
 70423  			return -22
 70424  		}
 70425  
 70426  		if c >= Tuint32_t(0xfe) {
 70427  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int64(p) - int64(string)) / 1)
 70428  			return -23
 70429  		}
 70430  
 70431  		ab = Tuint32_t(X_pcre2_utf8_table4[c&Tuint32_t(0x3f)]) // Number of additional bytes (1-5)
 70432  		if length < Tsize_t(ab) {
 70433  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t((int64(p) - int64(string)) / 1)
 70434  			switch Tsize_t(ab) - length {
 70435  			case uint64(1):
 70436  				return -3
 70437  				fallthrough
 70438  			case uint64(2):
 70439  				return -4
 70440  				fallthrough
 70441  			case uint64(3):
 70442  				return -5
 70443  				fallthrough
 70444  			case uint64(4):
 70445  				return -6
 70446  				fallthrough
 70447  			case uint64(5):
 70448  				return -7
 70449  			}
 70450  		}
 70451  		length = length - Tsize_t(ab) // Length remaining
 70452  
 70453  		// Check top bits in the second byte
 70454  
 70455  		if libc.AssignUint32(&d, Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1)))))&Tuint32_t(0xc0) != Tuint32_t(0x80) {
 70456  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 1)
 70457  			return -8
 70458  		}
 70459  
 70460  		// For each length, check that the remaining bytes start with the 0x80 bit
 70461  		//   set and not the 0x40 bit. Then check for an overlong sequence, and for the
 70462  		//   excluded range 0xd800 to 0xdfff.
 70463  
 70464  		switch ab {
 70465  		// 2-byte character. No further bytes to check for 0x80. Check first byte
 70466  		//     for for xx00 000x (overlong sequence).
 70467  
 70468  		case Tuint32_t(1):
 70469  			if c&Tuint32_t(0x3e) == Tuint32_t(0) {
 70470  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 1)
 70471  				return -17
 70472  			}
 70473  			break
 70474  
 70475  		// 3-byte character. Check third byte for 0x80. Then check first 2 bytes
 70476  		//       for 1110 0000, xx0x xxxx (overlong sequence) or
 70477  		//           1110 1101, 1010 xxxx (0xd800 - 0xdfff)
 70478  
 70479  		case Tuint32_t(2):
 70480  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70481  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2)
 70482  				return -9
 70483  			}
 70484  			if c == Tuint32_t(0xe0) && d&Tuint32_t(0x20) == Tuint32_t(0) {
 70485  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2)
 70486  				return -18
 70487  			}
 70488  			if c == Tuint32_t(0xed) && d >= Tuint32_t(0xa0) {
 70489  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2)
 70490  				return -16
 70491  			}
 70492  			break
 70493  
 70494  		// 4-byte character. Check 3rd and 4th bytes for 0x80. Then check first 2
 70495  		//        bytes for for 1111 0000, xx00 xxxx (overlong sequence), then check for a
 70496  		//        character greater than 0x0010ffff (f4 8f bf bf)
 70497  
 70498  		case Tuint32_t(3):
 70499  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70500  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2)
 70501  				return -9
 70502  			}
 70503  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70504  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3)
 70505  				return -10
 70506  			}
 70507  			if c == Tuint32_t(0xf0) && d&Tuint32_t(0x30) == Tuint32_t(0) {
 70508  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3)
 70509  				return -19
 70510  			}
 70511  			if c > Tuint32_t(0xf4) || c == Tuint32_t(0xf4) && d > Tuint32_t(0x8f) {
 70512  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3)
 70513  				return -15
 70514  			}
 70515  			break
 70516  
 70517  		// 5-byte and 6-byte characters are not allowed by RFC 3629, and will be
 70518  		//     rejected by the length test below. However, we do the appropriate tests
 70519  		//     here so that overlong sequences get diagnosed, and also in case there is
 70520  		//     ever an option for handling these larger code points.
 70521  
 70522  		// 5-byte character. Check 3rd, 4th, and 5th bytes for 0x80. Then check for
 70523  		//     1111 1000, xx00 0xxx
 70524  
 70525  		case Tuint32_t(4):
 70526  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70527  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2)
 70528  				return -9
 70529  			}
 70530  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70531  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3)
 70532  				return -10
 70533  			}
 70534  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70535  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 4)
 70536  				return -11
 70537  			}
 70538  			if c == Tuint32_t(0xf8) && d&Tuint32_t(0x38) == Tuint32_t(0) {
 70539  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 4)
 70540  				return -20
 70541  			}
 70542  			break
 70543  
 70544  		// 6-byte character. Check 3rd-6th bytes for 0x80. Then check for
 70545  		//     1111 1100, xx00 00xx.
 70546  
 70547  		case Tuint32_t(5):
 70548  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70549  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 2)
 70550  				return -9
 70551  			}
 70552  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70553  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 3)
 70554  				return -10
 70555  			}
 70556  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70557  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 4)
 70558  				return -11
 70559  			}
 70560  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PreIncUintptr(&p, 1))))&0xc0 != 0x80 {
 70561  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 5)
 70562  				return -12
 70563  			}
 70564  			if c == Tuint32_t(0xfc) && d&Tuint32_t(0x3c) == Tuint32_t(0) {
 70565  				*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(int32((int64(p)-int64(string))/1) - 5)
 70566  				return -21
 70567  			}
 70568  			break
 70569  		}
 70570  
 70571  		// Character is valid under RFC 2279, but 4-byte and 5-byte characters are
 70572  		//   excluded by RFC 3629. The pointer p is currently at the last byte of the
 70573  		//   character.
 70574  
 70575  		if ab > Tuint32_t(3) {
 70576  			*(*Tsize_t)(unsafe.Pointer(erroroffset)) = Tsize_t(Tuint32_t(int32((int64(p)-int64(string))/1)) - ab)
 70577  			if ab == Tuint32_t(4) {
 70578  				return -13
 70579  			}
 70580  			return -14
 70581  		}
 70582  	}
 70583  	return 0
 70584  
 70585  	// ----------------- Check a UTF-16 string -----------------
 70586  
 70587  }
 70588  
 70589  // End of pcre2_valid_utf.c
 70590  
 70591  // This function is needed only when memmove() is not available.
 70592  
 70593  // End of pcre2_internal.h
 70594  
 70595  // ************************************************
 70596  //
 70597  //       Match character against an XCLASS        *
 70598  //
 70599  
 70600  // This function is called to match a character against an extended class that
 70601  // might contain codepoints above 255 and/or Unicode properties.
 70602  //
 70603  // Arguments:
 70604  //   c           the character
 70605  //   data        points to the flag code unit of the XCLASS data
 70606  //   utf         TRUE if in UTF mode
 70607  //
 70608  // Returns:      TRUE if character matches, else FALSE
 70609  
 70610  func X_pcre2_xclass_8(tls *libc.TLS, c Tuint32_t, data TPCRE2_SPTR8, utf TBOOL) TBOOL { /* pcre2_xclass.c:69:1: */
 70611  	var t TPCRE2_UCHAR8
 70612  	var negated TBOOL = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_NOT != 0)
 70613  
 70614  	// In 8 bit mode, this must always be TRUE. Help the compiler to know that.
 70615  	utf = DTRUE
 70616  
 70617  	// Code points < 256 are matched against a bitmap, if one is present. If not,
 70618  	// we still carry on, because there may be ranges that start below 256 in the
 70619  	// additional data.
 70620  
 70621  	if c < Tuint32_t(256) {
 70622  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_HASPROP == 0 {
 70623  			if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_MAP == 0 {
 70624  				return negated
 70625  			}
 70626  			return libc.Bool32(uint32(*(*Tuint8_t)(unsafe.Pointer(data + uintptr(1) + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0))
 70627  		}
 70628  		if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&DXCL_MAP != 0 && uint32(*(*Tuint8_t)(unsafe.Pointer(data + uintptr(1) + uintptr(c/Tuint32_t(8)))))&(uint32(1)<<(c&Tuint32_t(7))) != uint32(0) {
 70629  			return libc.BoolInt32(!(negated != 0))
 70630  		} // char found
 70631  	}
 70632  
 70633  	// First skip the bit map if present. Then match against the list of Unicode
 70634  	// properties or large chars or ranges that end with a large char. We won't ever
 70635  	// encounter XCL_PROP or XCL_NOTPROP when UTF support is not compiled.
 70636  
 70637  	if int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&DXCL_MAP != 0 {
 70638  		data += TPCRE2_SPTR8(uint64(32) / uint64(unsafe.Sizeof(TPCRE2_UCHAR8(0))))
 70639  	}
 70640  
 70641  	for int32(libc.AssignUint8(&t, *(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))) != DXCL_END {
 70642  		var x Tuint32_t
 70643  		var y Tuint32_t
 70644  		if int32(t) == DXCL_SINGLE {
 70645  			if utf != 0 {
 70646  				x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70647  				if x >= 0xc0 {
 70648  					if x&0x20 == Tuint32_t(0) {
 70649  						x = x&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&0x3f
 70650  					} else if x&0x10 == Tuint32_t(0) {
 70651  						x = x&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f
 70652  						data += uintptr(2)
 70653  					} else if x&0x08 == Tuint32_t(0) {
 70654  						x = x&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f
 70655  						data += uintptr(3)
 70656  					} else if x&0x04 == Tuint32_t(0) {
 70657  						x = x&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f
 70658  						data += uintptr(4)
 70659  					} else {
 70660  						x = x&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 4)))&0x3f
 70661  						data += uintptr(5)
 70662  					}
 70663  				}
 70664  
 70665  				// macro generates multiple statements
 70666  			} else {
 70667  				x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70668  			}
 70669  			if c == x {
 70670  				return libc.BoolInt32(!(negated != 0))
 70671  			}
 70672  		} else if int32(t) == DXCL_RANGE {
 70673  			if utf != 0 {
 70674  				x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70675  				if x >= 0xc0 {
 70676  					if x&0x20 == Tuint32_t(0) {
 70677  						x = x&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&0x3f
 70678  					} else if x&0x10 == Tuint32_t(0) {
 70679  						x = x&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f
 70680  						data += uintptr(2)
 70681  					} else if x&0x08 == Tuint32_t(0) {
 70682  						x = x&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f
 70683  						data += uintptr(3)
 70684  					} else if x&0x04 == Tuint32_t(0) {
 70685  						x = x&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f
 70686  						data += uintptr(4)
 70687  					} else {
 70688  						x = x&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 4)))&0x3f
 70689  						data += uintptr(5)
 70690  					}
 70691  				}
 70692  
 70693  				// macro generates multiple statements
 70694  				y = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70695  				if y >= 0xc0 {
 70696  					if y&0x20 == Tuint32_t(0) {
 70697  						y = y&0x1f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))&0x3f
 70698  					} else if y&0x10 == Tuint32_t(0) {
 70699  						y = y&0x0f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f
 70700  						data += uintptr(2)
 70701  					} else if y&0x08 == Tuint32_t(0) {
 70702  						y = y&0x07<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f
 70703  						data += uintptr(3)
 70704  					} else if y&0x04 == Tuint32_t(0) {
 70705  						y = y&0x03<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f
 70706  						data += uintptr(4)
 70707  					} else {
 70708  						y = y&0x01<<30 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data)))&0x3f<<24 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))&0x3f<<18 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 2)))&0x3f<<12 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 3)))&0x3f<<6 | uint32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 4)))&0x3f
 70709  						data += uintptr(5)
 70710  					}
 70711  				}
 70712  
 70713  				// macro generates multiple statements
 70714  			} else {
 70715  				x = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70716  				y = Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(libc.PostIncUintptr(&data, 1))))
 70717  			}
 70718  			if c >= x && c <= y {
 70719  				return libc.BoolInt32(!(negated != 0))
 70720  			}
 70721  		} else {
 70722  			var prop uintptr = uintptr(unsafe.Pointer(&X_pcre2_ucd_records_8)) + uintptr(X_pcre2_ucd_stage2_8[int32(X_pcre2_ucd_stage1_8[int32(c)/DUCD_BLOCK_SIZE])*DUCD_BLOCK_SIZE+int32(c)%DUCD_BLOCK_SIZE])*12
 70723  			var isprop TBOOL = libc.Bool32(int32(t) == DXCL_PROP)
 70724  			var ok TBOOL
 70725  
 70726  			switch int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data))) {
 70727  			case DPT_ANY:
 70728  				if isprop != 0 {
 70729  					return libc.BoolInt32(!(negated != 0))
 70730  				}
 70731  				break
 70732  				fallthrough
 70733  
 70734  			case DPT_LAMP:
 70735  				if libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lu || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Ll || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Lt) == isprop {
 70736  					return libc.BoolInt32(!(negated != 0))
 70737  				}
 70738  				break
 70739  				fallthrough
 70740  
 70741  			case DPT_GC:
 70742  				if libc.Bool32(Tuint32_t(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype]) == isprop {
 70743  					return libc.BoolInt32(!(negated != 0))
 70744  				}
 70745  				break
 70746  				fallthrough
 70747  
 70748  			case DPT_PC:
 70749  				if libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype)) == isprop {
 70750  					return libc.BoolInt32(!(negated != 0))
 70751  				}
 70752  				break
 70753  				fallthrough
 70754  
 70755  			case DPT_SC:
 70756  				if libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript)) == isprop {
 70757  					return libc.BoolInt32(!(negated != 0))
 70758  				}
 70759  				break
 70760  				fallthrough
 70761  
 70762  			case DPT_SCX:
 70763  				ok = libc.Bool32(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1))) == int32((*Tucd_record)(unsafe.Pointer(prop)).Fscript) || *(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_script_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)&DUCD_SCRIPTX_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))%32)) != Tuint32_t(0))
 70764  				if ok == isprop {
 70765  					return libc.BoolInt32(!(negated != 0))
 70766  				}
 70767  				break
 70768  				fallthrough
 70769  
 70770  			case DPT_ALNUM:
 70771  				if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N) == isprop {
 70772  					return libc.BoolInt32(!(negated != 0))
 70773  				}
 70774  				break
 70775  				fallthrough
 70776  
 70777  			// Perl space used to exclude VT, but from Perl 5.18 it is included,
 70778  			//       which means that Perl space and POSIX space are now identical. PCRE
 70779  			//       was changed at release 8.34.
 70780  
 70781  			case DPT_SPACE:
 70782  				fallthrough // Perl space
 70783  			case DPT_PXSPACE: // POSIX space
 70784  				switch c {
 70785  				case Tuint32_t('\011'):
 70786  					fallthrough
 70787  				case Tuint32_t('\040'):
 70788  					fallthrough
 70789  				case Tuint32_t(uint8('\xa0')):
 70790  					fallthrough
 70791  				case Tuint32_t(0x1680):
 70792  					fallthrough /* OGHAM SPACE MARK */
 70793  				case Tuint32_t(0x180e):
 70794  					fallthrough /* MONGOLIAN VOWEL SEPARATOR */
 70795  				case Tuint32_t(0x2000):
 70796  					fallthrough /* EN QUAD */
 70797  				case Tuint32_t(0x2001):
 70798  					fallthrough /* EM QUAD */
 70799  				case Tuint32_t(0x2002):
 70800  					fallthrough /* EN SPACE */
 70801  				case Tuint32_t(0x2003):
 70802  					fallthrough /* EM SPACE */
 70803  				case Tuint32_t(0x2004):
 70804  					fallthrough /* THREE-PER-EM SPACE */
 70805  				case Tuint32_t(0x2005):
 70806  					fallthrough /* FOUR-PER-EM SPACE */
 70807  				case Tuint32_t(0x2006):
 70808  					fallthrough /* SIX-PER-EM SPACE */
 70809  				case Tuint32_t(0x2007):
 70810  					fallthrough /* FIGURE SPACE */
 70811  				case Tuint32_t(0x2008):
 70812  					fallthrough /* PUNCTUATION SPACE */
 70813  				case Tuint32_t(0x2009):
 70814  					fallthrough /* THIN SPACE */
 70815  				case Tuint32_t(0x200A):
 70816  					fallthrough /* HAIR SPACE */
 70817  				case Tuint32_t(0x202f):
 70818  					fallthrough /* NARROW NO-BREAK SPACE */
 70819  				case Tuint32_t(0x205f):
 70820  					fallthrough /* MEDIUM MATHEMATICAL SPACE */
 70821  				case Tuint32_t(0x3000):
 70822  					fallthrough
 70823  				case Tuint32_t('\012'):
 70824  					fallthrough
 70825  				case Tuint32_t('\013'):
 70826  					fallthrough
 70827  				case Tuint32_t('\014'):
 70828  					fallthrough
 70829  				case Tuint32_t('\015'):
 70830  					fallthrough
 70831  				case Tuint32_t(uint8('\x85')):
 70832  					fallthrough
 70833  				case Tuint32_t(0x2028):
 70834  					fallthrough /* LINE SEPARATOR */
 70835  				case Tuint32_t(0x2029):
 70836  					if isprop != 0 {
 70837  						return libc.BoolInt32(!(negated != 0))
 70838  					}
 70839  					break
 70840  					fallthrough
 70841  
 70842  				default:
 70843  					if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_Z) == isprop {
 70844  						return libc.BoolInt32(!(negated != 0))
 70845  					}
 70846  					break
 70847  				}
 70848  				break
 70849  				fallthrough
 70850  
 70851  			case DPT_WORD:
 70852  				if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_L || X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_N || c == Tuint32_t('\137')) ==
 70853  					isprop {
 70854  					return libc.BoolInt32(!(negated != 0))
 70855  				}
 70856  				break
 70857  				fallthrough
 70858  
 70859  			case DPT_UCNC:
 70860  				if c < Tuint32_t(0xa0) {
 70861  					if libc.Bool32(c == Tuint32_t('\044') || c == Tuint32_t('\100') || c == Tuint32_t('\140')) == isprop {
 70862  						return libc.BoolInt32(!(negated != 0))
 70863  					}
 70864  				} else {
 70865  					if libc.Bool32(c < Tuint32_t(0xd800) || c > Tuint32_t(0xdfff)) == isprop {
 70866  						return libc.BoolInt32(!(negated != 0))
 70867  					}
 70868  				}
 70869  				break
 70870  				fallthrough
 70871  
 70872  			case DPT_BIDICL:
 70873  				if libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fscriptx_bidiclass)>>DUCD_BIDICLASS_SHIFT == int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))) == isprop {
 70874  					return libc.BoolInt32(!(negated != 0))
 70875  				}
 70876  				break
 70877  				fallthrough
 70878  
 70879  			case DPT_BOOL:
 70880  				ok = libc.Bool32(*(*Tuint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_ucd_boolprop_sets_8)) + uintptr(int32((*Tucd_record)(unsafe.Pointer(prop)).Fbprops)&DUCD_BPROPS_MASK)*4 + uintptr(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))/32)*4))&(uint32(1)<<(int32(*(*TPCRE2_UCHAR8)(unsafe.Pointer(data + 1)))%32)) != Tuint32_t(0))
 70881  				if ok == isprop {
 70882  					return libc.BoolInt32(!(negated != 0))
 70883  				}
 70884  				break
 70885  				fallthrough
 70886  
 70887  			// The following three properties can occur only in an XCLASS, as there
 70888  			//       is no \p or \P coding for them.
 70889  
 70890  			// Graphic character. Implement this as not Z (space or separator) and
 70891  			//       not C (other), except for Cf (format) with a few exceptions. This seems
 70892  			//       to be what Perl does. The exceptional characters are:
 70893  			//
 70894  			//       U+061C           Arabic Letter Mark
 70895  			//       U+180E           Mongolian Vowel Separator
 70896  			//       U+2066 - U+2069  Various "isolate"s
 70897  			//
 70898  
 70899  			case DPT_PXGRAPH:
 70900  				if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] != ucp_Z && (X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] != ucp_C || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Cf && c != Tuint32_t(0x061c) && c != Tuint32_t(0x180e) && (c < Tuint32_t(0x2066) || c > Tuint32_t(0x2069)))) == isprop {
 70901  					return libc.BoolInt32(!(negated != 0))
 70902  				}
 70903  				break
 70904  				fallthrough
 70905  
 70906  			// Printable character: same as graphic, with the addition of Zs, i.e.
 70907  			//       not Zl and not Zp, and U+180E.
 70908  
 70909  			case DPT_PXPRINT:
 70910  				if libc.Bool32(int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) != ucp_Zl && int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) != ucp_Zp && (X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] != ucp_C || int32((*Tucd_record)(unsafe.Pointer(prop)).Fchartype) == ucp_Cf && c != Tuint32_t(0x061c) && (c < Tuint32_t(0x2066) || c > Tuint32_t(0x2069)))) == isprop {
 70911  					return libc.BoolInt32(!(negated != 0))
 70912  				}
 70913  				break
 70914  				fallthrough
 70915  
 70916  			// Punctuation: all Unicode punctuation, plus ASCII characters that
 70917  			//       Unicode treats as symbols rather than punctuation, for Perl
 70918  			//       compatibility (these are $+<=>^`|~).
 70919  
 70920  			case DPT_PXPUNCT:
 70921  				if libc.Bool32(X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_P || c < Tuint32_t(128) && X_pcre2_ucp_gentype_8[(*Tucd_record)(unsafe.Pointer(prop)).Fchartype] == ucp_S) == isprop {
 70922  					return libc.BoolInt32(!(negated != 0))
 70923  				}
 70924  				break
 70925  				fallthrough
 70926  
 70927  			// This should never occur, but compilers may mutter if there is no
 70928  			//       default.
 70929  
 70930  			default:
 70931  				return DFALSE
 70932  			}
 70933  
 70934  			data += uintptr(2)
 70935  		}
 70936  	}
 70937  
 70938  	return negated // char did not match
 70939  }
 70940  
 70941  // End of pcre2_xclass.c
 70942  
 70943  func init() {
 70944  	*(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 0)) = default_malloc                  // pcre2_context.c:134:5:
 70945  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 8)) = default_free                            // pcre2_context.c:134:21:
 70946  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 40 /* .tables */)) = uintptr(unsafe.Pointer(&X_pcre2_default_tables_8)) // pcre2_context.c:137:3:
 70947  	*(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 0)) = default_malloc                  // pcre2_context.c:134:5:
 70948  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 8)) = default_free                            // pcre2_context.c:134:21:
 70949  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_compile_context_8)) + 40 /* .tables */)) = uintptr(unsafe.Pointer(&X_pcre2_default_tables_8)) // pcre2_context.c:137:3:
 70950  	*(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) + 0)) = default_malloc                  // pcre2_context.c:198:5:
 70951  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) + 8)) = default_free                            // pcre2_context.c:198:21:
 70952  	*(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) + 0)) = default_malloc                  // pcre2_context.c:198:5:
 70953  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_convert_context_8)) + 8)) = default_free                            // pcre2_context.c:198:21:
 70954  	*(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) + 0)) = default_malloc                    // pcre2_context.c:164:5:
 70955  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) + 8)) = default_free                              // pcre2_context.c:164:21:
 70956  	*(*func(*libc.TLS, Tsize_t, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) + 0)) = default_malloc                    // pcre2_context.c:164:5:
 70957  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&X_pcre2_default_match_context_8)) + 8)) = default_free                              // pcre2_context.c:164:21:
 70958  }
 70959  
 70960  var ts1 = "\x00MARK\x00ACCEPT\x00F\x00FAIL\x00COMMIT\x00PRUNE\x00SKIP\x00THEN\x00pla\x00plb\x00napla\x00naplb\x00nla\x00nlb\x00positive_lookahead\x00positive_lookbehind\x00non_atomic_positive_lookahead\x00non_atomic_positive_lookbehind\x00negative_lookahead\x00negative_lookbehind\x00atomic\x00sr\x00asr\x00script_run\x00atomic_script_run\x00alpha\x00lower\x00upper\x00alnum\x00ascii\x00blank\x00cntrl\x00digit\x00graph\x00print\x00punct\x00space\x00word\x00xdigit\x00UTF8)\x00UTF)\x00UCP)\x00NOTEMPTY)\x00NOTEMPTY_ATSTART)\x00NO_AUTO_POSSESS)\x00NO_DOTSTAR_ANCHOR)\x00NO_JIT)\x00NO_START_OPT)\x00LIMIT_HEAP=\x00LIMIT_MATCH=\x00LIMIT_DEPTH=\x00LIMIT_RECURSION=\x00CR)\x00LF)\x00CRLF)\x00ANY)\x00NUL)\x00ANYCRLF)\x00BSR_ANYCRLF)\x00BSR_UNICODE)\x00bidiclass\x00bc\x00script\x00sc\x00scriptextensions\x00scx\x00[:<:]]\x00[:>:]]\x00Q\\E\x00VERSION\x00DEFINE\x00Z\x0010.40 2022-04-14\x0010.402022-04-14\x00\\?*+|.^${}[]()\x00(){}123456789\x00(*NUL)\x00]\x00:]\x00\\\x00[\x00^\x00alnum:alpha:ascii:blank:cntrl:digit:graph:lower:print:punct:space:upper:word:xdigit:\x00\x00no error\x00\\ at end of pattern\x00\\c at end of pattern\x00unrecognized character follows \\\x00numbers out of order in {} quantifier\x00number too big in {} quantifier\x00missing terminating ] for character class\x00escape sequence is invalid in character class\x00range out of order in character class\x00quantifier does not follow a repeatable item\x00internal error: unexpected repeat\x00unrecognized character after (? or (?-\x00POSIX named classes are supported only within a class\x00POSIX collating elements are not supported\x00missing closing parenthesis\x00reference to non-existent subpattern\x00pattern passed as NULL\x00unrecognised compile-time option bit(s)\x00missing ) after (?# comment\x00parentheses are too deeply nested\x00regular expression is too large\x00failed to allocate heap memory\x00unmatched closing parenthesis\x00internal error: code overflow\x00missing closing parenthesis for condition\x00lookbehind assertion is not fixed length\x00a relative value of zero is not allowed\x00conditional subpattern contains more than two branches\x00assertion expected after (?( or (?(?C)\x00digit expected after (?+ or (?-\x00unknown POSIX class name\x00internal error in pcre2_study(): should not occur\x00this version of PCRE2 does not have Unicode support\x00parentheses are too deeply nested (stack check)\x00character code point value in \\x{} or \\o{} is too large\x00lookbehind is too complicated\x00\\C is not allowed in a lookbehind assertion in UTF-8 mode\x00PCRE2 does not support \\F, \\L, \\l, \\N{name}, \\U, or \\u\x00number after (?C is greater than 255\x00closing parenthesis for (?C expected\x00invalid escape sequence in (*VERB) name\x00unrecognized character after (?P\x00syntax error in subpattern name (missing terminator?)\x00two named subpatterns have the same name (PCRE2_DUPNAMES not set)\x00subpattern name must start with a non-digit\x00this version of PCRE2 does not have support for \\P, \\p, or \\X\x00malformed \\P or \\p sequence\x00unknown property after \\P or \\p\x00subpattern name is too long (maximum 32 code units)\x00too many named subpatterns (maximum 10000)\x00invalid range in character class\x00octal value is greater than \\377 in 8-bit non-UTF-8 mode\x00internal error: overran compiling workspace\x00internal error: previously-checked referenced subpattern not found\x00DEFINE subpattern contains more than one branch\x00missing opening brace after \\o\x00internal error: unknown newline setting\x00\\g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number\x00(?R (recursive pattern call) must be followed by a closing parenthesis\x00obsolete error (should not occur)\x00(*VERB) not recognized or malformed\x00subpattern number is too big\x00subpattern name expected\x00internal error: parsed pattern overflow\x00non-octal character in \\o{} (closing brace missing?)\x00different names for subpatterns of the same number are not allowed\x00(*MARK) must have an argument\x00non-hex character in \\x{} (closing brace missing?)\x00\\c must be followed by a printable ASCII character\x00\\k is not followed by a braced, angle-bracketed, or quoted name\x00internal error: unknown meta code in check_lookbehinds()\x00\\N is not supported in a class\x00callout string is too long\x00disallowed Unicode code point (>= 0xd800 && <= 0xdfff)\x00using UTF is disabled by the application\x00using UCP is disabled by the application\x00name is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN)\x00character code point value in \\u.... sequence is too large\x00digits missing in \\x{} or \\o{} or \\N{U+}\x00syntax error or number too big in (?(VERSION condition\x00internal error: unknown opcode in auto_possessify()\x00missing terminating delimiter for callout with string argument\x00unrecognized string delimiter follows (?C\x00using \\C is disabled by the application\x00(?| and/or (?J: or (?x: parentheses are too deeply nested\x00using \\C is disabled in this PCRE2 library\x00regular expression is too complicated\x00lookbehind assertion is too long\x00pattern string is longer than the limit set by the application\x00internal error: unknown code in parsed pattern\x00internal error: bad code value in parsed_skip()\x00PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES is not allowed in UTF-16 mode\x00invalid option bits with PCRE2_LITERAL\x00\\N{U+dddd} is supported only in Unicode (UTF) mode\x00invalid hyphen in option setting\x00(*alpha_assertion) not recognized\x00script runs require Unicode support, which this version of PCRE2 does not have\x00too many capturing groups (maximum 65535)\x00atomic assertion expected after (?( or (?(?C)\x00\\K is not allowed in lookarounds (but see PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK)\x00\x00no error\x00no match\x00partial match\x00UTF-8 error: 1 byte missing at end\x00UTF-8 error: 2 bytes missing at end\x00UTF-8 error: 3 bytes missing at end\x00UTF-8 error: 4 bytes missing at end\x00UTF-8 error: 5 bytes missing at end\x00UTF-8 error: byte 2 top bits not 0x80\x00UTF-8 error: byte 3 top bits not 0x80\x00UTF-8 error: byte 4 top bits not 0x80\x00UTF-8 error: byte 5 top bits not 0x80\x00UTF-8 error: byte 6 top bits not 0x80\x00UTF-8 error: 5-byte character is not allowed (RFC 3629)\x00UTF-8 error: 6-byte character is not allowed (RFC 3629)\x00UTF-8 error: code points greater than 0x10ffff are not defined\x00UTF-8 error: code points 0xd800-0xdfff are not defined\x00UTF-8 error: overlong 2-byte sequence\x00UTF-8 error: overlong 3-byte sequence\x00UTF-8 error: overlong 4-byte sequence\x00UTF-8 error: overlong 5-byte sequence\x00UTF-8 error: overlong 6-byte sequence\x00UTF-8 error: isolated byte with 0x80 bit set\x00UTF-8 error: illegal byte (0xfe or 0xff)\x00UTF-16 error: missing low surrogate at end\x00UTF-16 error: invalid low surrogate\x00UTF-16 error: isolated low surrogate\x00UTF-32 error: code points 0xd800-0xdfff are not defined\x00UTF-32 error: code points greater than 0x10ffff are not defined\x00bad data value\x00patterns do not all use the same character tables\x00magic number missing\x00pattern compiled in wrong mode: 8/16/32-bit error\x00bad offset value\x00bad option value\x00invalid replacement string\x00bad offset into UTF string\x00callout error code\x00invalid data in workspace for DFA restart\x00too much recursion for DFA matching\x00backreference condition or recursion test is not supported for DFA matching\x00function is not supported for DFA matching\x00pattern contains an item that is not supported for DFA matching\x00workspace size exceeded in DFA matching\x00internal error - pattern overwritten?\x00bad JIT option\x00JIT stack limit reached\x00match limit exceeded\x00no more memory\x00unknown substring\x00non-unique substring name\x00NULL argument passed with non-zero length\x00nested recursion at the same subject position\x00matching depth limit exceeded\x00requested value is not available\x00requested value is not set\x00offset limit set without PCRE2_USE_OFFSET_LIMIT\x00bad escape sequence in replacement string\x00expected closing curly bracket in replacement string\x00bad substitution in replacement string\x00match with end before start or start moved backwards is not supported\x00too many replacements (more than INT_MAX)\x00bad serialized data\x00heap limit exceeded\x00invalid syntax\x00internal error - duplicate substitution match\x00PCRE2_MATCH_INVALID_UTF is not supported for DFA matching\x00\x00\x00\x00JIT is not supported\x00MARK\x00adlam\x00adlm\x00aghb\x00ahex\x00ahom\x00alpha\x00alphabetic\x00anatolianhieroglyphs\x00any\x00arab\x00arabic\x00armenian\x00armi\x00armn\x00ascii\x00asciihexdigit\x00avestan\x00avst\x00bali\x00balinese\x00bamu\x00bamum\x00bass\x00bassavah\x00batak\x00batk\x00beng\x00bengali\x00bhaiksuki\x00bhks\x00bidial\x00bidian\x00bidib\x00bidibn\x00bidic\x00bidicontrol\x00bidics\x00bidien\x00bidies\x00bidiet\x00bidifsi\x00bidil\x00bidilre\x00bidilri\x00bidilro\x00bidim\x00bidimirrored\x00bidinsm\x00bidion\x00bidipdf\x00bidipdi\x00bidir\x00bidirle\x00bidirli\x00bidirlo\x00bidis\x00bidiws\x00bopo\x00bopomofo\x00brah\x00brahmi\x00brai\x00braille\x00bugi\x00buginese\x00buhd\x00buhid\x00c\x00cakm\x00canadianaboriginal\x00cans\x00cari\x00carian\x00cased\x00caseignorable\x00caucasianalbanian\x00cc\x00cf\x00chakma\x00cham\x00changeswhencasefolded\x00changeswhencasemapped\x00changeswhenlowercased\x00changeswhentitlecased\x00changeswhenuppercased\x00cher\x00cherokee\x00chorasmian\x00chrs\x00ci\x00cn\x00co\x00common\x00copt\x00coptic\x00cpmn\x00cprt\x00cs\x00cuneiform\x00cwcf\x00cwcm\x00cwl\x00cwt\x00cwu\x00cypriot\x00cyprominoan\x00cyrillic\x00cyrl\x00dash\x00defaultignorablecodepoint\x00dep\x00deprecated\x00deseret\x00deva\x00devanagari\x00di\x00dia\x00diacritic\x00diak\x00divesakuru\x00dogr\x00dogra\x00dsrt\x00dupl\x00duployan\x00ebase\x00ecomp\x00egyp\x00egyptianhieroglyphs\x00elba\x00elbasan\x00elym\x00elymaic\x00emod\x00emoji\x00emojicomponent\x00emojimodifier\x00emojimodifierbase\x00emojipresentation\x00epres\x00ethi\x00ethiopic\x00ext\x00extendedpictographic\x00extender\x00extpict\x00geor\x00georgian\x00glag\x00glagolitic\x00gong\x00gonm\x00goth\x00gothic\x00gran\x00grantha\x00graphemebase\x00graphemeextend\x00graphemelink\x00grbase\x00greek\x00grek\x00grext\x00grlink\x00gujarati\x00gujr\x00gunjalagondi\x00gurmukhi\x00guru\x00han\x00hang\x00hangul\x00hani\x00hanifirohingya\x00hano\x00hanunoo\x00hatr\x00hatran\x00hebr\x00hebrew\x00hex\x00hexdigit\x00hira\x00hiragana\x00hluw\x00hmng\x00hmnp\x00hung\x00idc\x00idcontinue\x00ideo\x00ideographic\x00ids\x00idsb\x00idsbinaryoperator\x00idst\x00idstart\x00idstrinaryoperator\x00imperialaramaic\x00inherited\x00inscriptionalpahlavi\x00inscriptionalparthian\x00ital\x00java\x00javanese\x00joinc\x00joincontrol\x00kaithi\x00kali\x00kana\x00kannada\x00katakana\x00kayahli\x00khar\x00kharoshthi\x00khitansmallscript\x00khmer\x00khmr\x00khoj\x00khojki\x00khudawadi\x00kits\x00knda\x00kthi\x00l\x00l&\x00lana\x00lao\x00laoo\x00latin\x00latn\x00lc\x00lepc\x00lepcha\x00limb\x00limbu\x00lina\x00linb\x00lineara\x00linearb\x00lisu\x00ll\x00lm\x00lo\x00loe\x00logicalorderexception\x00lower\x00lowercase\x00lt\x00lu\x00lyci\x00lycian\x00lydi\x00lydian\x00m\x00mahajani\x00mahj\x00maka\x00makasar\x00malayalam\x00mand\x00mandaic\x00mani\x00manichaean\x00marc\x00marchen\x00masaramgondi\x00math\x00mc\x00me\x00medefaidrin\x00medf\x00meeteimayek\x00mend\x00mendekikakui\x00merc\x00mero\x00meroiticcursive\x00meroitichieroglyphs\x00miao\x00mlym\x00mn\x00modi\x00mong\x00mongolian\x00mro\x00mroo\x00mtei\x00mult\x00multani\x00myanmar\x00mymr\x00n\x00nabataean\x00nand\x00nandinagari\x00narb\x00nbat\x00nchar\x00nd\x00newa\x00newtailue\x00nko\x00nkoo\x00nl\x00no\x00noncharactercodepoint\x00nshu\x00nushu\x00nyiakengpuachuehmong\x00ogam\x00ogham\x00olchiki\x00olck\x00oldhungarian\x00olditalic\x00oldnortharabian\x00oldpermic\x00oldpersian\x00oldsogdian\x00oldsoutharabian\x00oldturkic\x00olduyghur\x00oriya\x00orkh\x00orya\x00osage\x00osge\x00osma\x00osmanya\x00ougr\x00p\x00pahawhhmong\x00palm\x00palmyrene\x00patsyn\x00patternsyntax\x00patternwhitespace\x00patws\x00pauc\x00paucinhau\x00pc\x00pcm\x00pd\x00pe\x00perm\x00pf\x00phag\x00phagspa\x00phli\x00phlp\x00phnx\x00phoenician\x00pi\x00plrd\x00po\x00prependedconcatenationmark\x00prti\x00ps\x00psalterpahlavi\x00qaac\x00qaai\x00qmark\x00quotationmark\x00radical\x00regionalindicator\x00rejang\x00ri\x00rjng\x00rohg\x00runic\x00runr\x00s\x00samaritan\x00samr\x00sarb\x00saur\x00saurashtra\x00sc\x00sd\x00sentenceterminal\x00sgnw\x00sharada\x00shavian\x00shaw\x00shrd\x00sidd\x00siddham\x00signwriting\x00sind\x00sinh\x00sinhala\x00sk\x00sm\x00so\x00softdotted\x00sogd\x00sogdian\x00sogo\x00sora\x00sorasompeng\x00soyo\x00soyombo\x00space\x00sterm\x00sund\x00sundanese\x00sylo\x00sylotinagri\x00syrc\x00syriac\x00tagalog\x00tagb\x00tagbanwa\x00taile\x00taitham\x00taiviet\x00takr\x00takri\x00tale\x00talu\x00tamil\x00taml\x00tang\x00tangsa\x00tangut\x00tavt\x00telu\x00telugu\x00term\x00terminalpunctuation\x00tfng\x00tglg\x00thaa\x00thaana\x00thai\x00tibetan\x00tibt\x00tifinagh\x00tirh\x00tirhuta\x00tnsa\x00toto\x00ugar\x00ugaritic\x00uideo\x00unifiedideograph\x00unknown\x00upper\x00uppercase\x00vai\x00vaii\x00variationselector\x00vith\x00vithkuqi\x00vs\x00wancho\x00wara\x00warangciti\x00wcho\x00whitespace\x00wspace\x00xan\x00xidc\x00xidcontinue\x00xids\x00xidstart\x00xpeo\x00xps\x00xsp\x00xsux\x00xuc\x00xwd\x00yezi\x00yezidi\x00yi\x00yiii\x00z\x00zanabazarsquare\x00zanb\x00zinh\x00zl\x00zp\x00zs\x00zyyy\x00zzzz\x00\x0014.0.0\x00"
 70961  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data